Peter G. Harrison, Hessam Khoshnevisan
Iterative forms are derived for a class of recursive functions, i.e. the recursion is "removed". The transformation comprises first analysis of the defining equation of a recursive function and then synthesis of an imperative language loop from the primitive subexpressions so obtained. This initially leads to a two-loop program but further transformation provides a single loop version under appropriate conditions. The analysis-synthesis approach contrasts with previous methods using template matching and induces a constructive method which is better suited to mechanisation, although its implementation is not considered here.
Information from pubs.doc.ic.ac.uk/recursion-removal.