Computing (FOLDOC) dictionary
Jump to user comments
An optimisation where a function of some systematically
changing variable is calculated more efficiently by using
this would apply to an expression involving a loop variable
f x = ... (2**x) ... (f (x+1)) ...
==@#
f x = f' x (2**x)
where
f ' x z = ... z ... (f' (x+1) 2*z) ...
Here the expensive operation (2**x) has been replaced by the
cheaper 2*z in the recursive function f'. This maintains the
invariant that z = 2**x for any call to f'.
(1995-01-31)