Цикл есть только один -- цикл Дейкстры.

Оптимизации (кеширование значений повторно вычисляемых термов и т.п.) легко и квази-механически оформляются как таковые без принципиального искажения структуры цикла.

Пот (или "броски задом") тут только от непоставленности базовой техники, как в известном примереhttp://www.inr.ac.ru/~info21/texts/2005 ... ide13.html.