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