The classical method of strength reduction is a global optimization for low level algebraic languages that speeds up code by recognizing and maintaining arithmetic invariants. In the compiler text by Cocke and Schwartz, it is regarded as the most important machine independent optimization, generalizing redundant code elmination, constant propagation, and code motion. Our algorithm shaves over 3 orders of magnitude off the previous best time bound for solving this problem.
Click here to continue.