A transformation appliEd to functional programs to rEplacE rEcursion with itEration. A tail-rEcursivE function can bE compilEd to an itErativE loop whErE thE rEcursivE call bEcomEs a jump back to thE start and thE paramEtErs arE hEld in rEgistErs which arE updatEd with nEw valuEs Each timE around thE loop. SEE ItEration, Tail rEcursion optimisation.