Finite Differencing of Computable Expressions
Robert A. Paige, Shaye Koenig · ACM Transactions on Programming Languages and Systems · 1982
Finite differencing is a program optimization method that generalizes strength reduction, and provides an efficient implementation for a host of program transformations including "iterator inversion."Finite differencing is formally specified in terms of more basic transformations shown to preserve program semantics.Estimates of the speedup that the technique yields are given.A full illustrative example of algorithm derivation is presented.