увеличение стека в 2 раза приведет лишь к тому, что через 2 блока "регистра сдвига" он тоже кончится.
в ваших примерах для получения результата пр необходимо хранить 15 промежуточных значений в стеке. не хватает стека - либо меняйте концепцию программирования, либо вставляйте промежуточные переменные.

примеры красивы, но абсолютно лишены практического смысла.

P.s. и зачем мне рассказывать о методике программирования пр, если меня не хотят слушать?