vertical loop combination
A program transformation where a composition of two functions is replaced by in-lining them and combining their bodies. E.g.
f x = g (h x) ==> f x = g (2 * x) g x = x + 1 f x = 2 * x + 1 h x = 2 * x
This has the beneficial effect of reducing the number of function calls. It can be especially useful where the intermediate result is a large data structure which can be eliminated.
See also vertical loop combination.