Calculate 2400 decimal places of the number π in Forth

\ Forth program (runs on gforth, may need slight changes for other forths)
\ Calculates 2400 decimal places of the number PI
\ Made by Augustin Vidovic in 2003. Public domain.

marker clean-pi
10000 constant a
8400 constant c
create f c 1+ cells allot

: init-f a 5 / f c 1+ 0 do 2dup ! cell+ loop 2drop
;

: 4. 0 <# # # # # #> type
;

: pi-calc init-f 0 c begin 0 f rot dup >r 2* r> swap >r -rot r> dup while
  1- -rot 3 pick dup >r cells + swap 1 r> do over @ a * + rot dup 2 - >r
  /mod -rot over ! cell - r> swap rot i * 1 -loop nip nip a /mod swap >r
  rot + 4. r> swap 14 - repeat 2drop
;

pi-calc

314159265358979323846264338327950288419716939937510582097494
459230781640628620899862803482534211706798214808651328230664
709384460955058223172535940812848111745028410270193852110555
964462294895493038196442881097566593344612847564823378678316
527120190914564856692346034861045432664821339360726024914127
372458700660631558817488152092096282925409171536436789259036
001133053054882046652138414695194151160943305727036575959195
309218611738193261179310511854807446237996274956735188575272
489122793818301194912983367336244065664308602139494639522473
719070217986094370277053921717629317675238467481846766940513
200056812714526356082778577134275778960917363717872146844090
122495343014654958537105079227968925892354201995611212902196
086403441815981362977477130996051870721134999999837297804995
105973173281609631859502445945534690830264252230825334468503
526193118817101000313783875288658753320838142061717766914730
359825349042875546873115956286388235378759375195778185778053
217122680661300192787661119590921642019893809525720106548586
327886593615338182796823030195203530185296899577362259941389
124972177528347913151557485724245415069595082953311686172785
588907509838175463746493931925506040092770167113900984882401
285836160356370766010471018194295559619894676783744944825537
977472684710404753464620804668425906949129331367702898915210
475216205696602405803815019351125338243003558764024749647326
391419927260426992279678235478163600934172164121992458631503
028618297455570674983850549458858692699569092721079750930295
532116534498720275596023648066549911988183479775356636980742
654252786255181841757467289097777279380008164706001614524919
217321721477235014144197356854816136115735255213347574184946
843852332390739414333454776241686251898356948556209921922218
427255025425688767179049460165346680498862723279178608578438
382796797668145410095388378636095068006422512520511739298489
608412848862694560424196528502221066118630674427862203919494
504712371378696095636437191728746776465757396241389086583264
599581339047802759009946576407895126946839835259570982582262
052248940772671947826848260147699090264013639443745530506820
349625245174939965143142980919065925093722169646151570985838
741059788595977297549893016175392846813826868386894277415599
185592524595395943104997252468084598727364469584865383673622
262609912460805124388439045124413654976278079771569143599770
012961608944169486855584840635342207222582848864815845602850