litwr, после DIV15 там просто индикатор прогресса, в какой-то момент я решил что лучше его разместить между строками, чем затирать цифры. А вот с INIT могут быть и проблемы, или это просто массивы куда-то переехали.
Лишней цифрой обычно оказывалась только последняя, которая живёт в одном байте с правильной предпоследней, поэтому мне было лень из разделять.
От Чудновских никаких плюшек ждать не стоит, у них тоже квадратичная сложность, и хоть за один проход они дают по 14 цифр, но там факториалы и на каждом шаге они дают десяток множителей/делителей которые не засунешь в таблицы. Два деления на 239, два на 103 еще одно на 25 и вычитания в сумме занимают меньше тактов чем одно честное деление для n>256, поэтому прорыв теперь может быть только с удвоением числа правильных цифр на каждом шаге, но не факт что это случится для менее чем 10000 цифр.

По просьбам трудящихся версия программы на Си, максимально упрощённая, но с некоторыми намёками в какую сторону оптимизировать:
pi.zip