
=============================
Billion digit pi on a desktop
=============================

On   May   31,   1999,   Dominique   Delande  successfully  computed
1,073,741,824 digits (of which 1,073,741,686 were correct).  This is
the largest number  of  digits  of  pi  ever  computed  on a desktop
computer.

The system was  a  Pentium-II  Xeon  running  at  450mhz, with 1g of
memory and running Linux.  (Due to the nature of  my  program,  only
512m  was  actually used for the NTT.)  The run took 758,058 seconds
total, with (according to  Linux)  421,633 seconds being consumed by
the computation itself, with the remainder being used by the OS  and
disk I/O.

He used v2.3 of my program with the gcc586 module, 8 prime, and disk
numbers.  He used the sqrt(3)  Salamin  formula.   The  use  of  the
gcc586 required one level of FractalMul.



Doing this  large  of  pi  run  really  pushes  your  system, and my
program.   For  example,  file sizes are about as large as what many
OS's allow.  In fact, the save file  for the 1g run was 3g, which is
_larger_ than what Linux or DOS/Win98 allows!  That means  that  you
can  *NOT*  save the progress.  You have to do the full run, without
interruptions!   (Those  routines  could  be  modified.  They are in
common/bigint.c.  But I don't want to do that because I want to keep
this distribution as close to  the  'v2.3'  it is.  I'm not ready to
release a v2.4 yet.)

Also, the gcc586 has a  multiplication  limit of 256m digit numbers.
Since the AGM only multiplies half  sized  numbers,  that  means  it
needs  to  multiply  512m  digit numbers.  The gcc586 has to use one
level of the FractalMul. The other versions of the NTT32 have  a  1g
limit, so they wouldn't need the FractalMul.


Below  is  an excerpt of the last few thousand digits of the pi run.
Just in case you try it yourself.

0961364881 2408629617 3173850030 0158229966 1490728159
9318711789 0382103610 0572055737 9131195220 5180109290
4065977001 5226314100 3261394101 8431436152 4937856633
2773267866 0843966116 7424297999 8629692155 6003115656
2265096256 4809134840 2871215787 3436870102 2131334883
4913312953 1268724186 8362663830 9455400930 3596096502
3021851064 0641459568 5385215462 7125007019 2294670694
8509868159 5830711007 9639445959 0063815160 8733609363
2705143208 3644574281 8000630130 7920334483 0327890683
8675846338 1850202091 9141798471 2952746050 4530776848
1027261430 0214520936 0699068956 9063255786 1177836551
7819065005 3239340766 1566890694 6652291675 2282150857
0272638104 2503346529 0703210022 3749737101 8219963803
5919348161 9866685093 5059299351 3172044515 8067238543
5056041041 1915799244 4710932291 5638990410 9076758122
9488820306 9380336081 8459762629 7202951577 2197613892
2944170872 9661774908 0103441133 4062350612 2766969625
3565876402 0927556475 5947018025 0886680421 4733008738
3895468354 3383720083 9913767283 4424394444 4028968344
6335705875 1279944509 2230387995 7901254418 3959995325
6018769253 7058302884 7192464652 9509098067 6457364230
2688184131 1486112057 5871673712 2250198875 2258885388
1606881075 3420337076 7507310779 9922772123 0423922854
0005053906 3823124866 9683077316 1838425520 7086543627
7755347255 0085746116 2443554812 7402219689 7712390340
2239655563 9236844741 3677387095 6590694805 4597061943
5265566838 0629232147 9185066886 6404389435 7936957275
8586133116 2000452361 0364191678 7755091373 8402134212
6803354684 9705428757 4782318544 2339132775 8587644972
4461764157 5997179191 9509695013 1321372705 0401973377
5431163090 7644314318 7894414039 9374825151 2350686669
1315258320 4683679026 1654214913 1557665608 6120077780
9502250438 2719850488 8388450319 4617756423 1422391547
8041878202 1508018438 0696051751 4339959546 6432696834
0773924643 3380871003 1279321612 7896758930 6726664688
7758486377 6970935173 4627194266 6842383136 5293922631
9363128132 4640140784 9316795508 4214490948 6636871447
0062254660 1902888726 5783048232 3528210233 6476033028
9067286443 6293450232 4763798057 5446902246 8404016065
2736258229 0073721500 8555985825 8824554483 6641445138
2964265471 6481643735 6827298829 9000391522 9459344333
1620724647 5607372455 0286833857 0538282954 3439094583
7522903566 6784873793 3325134979 9405683731 1835071837
0151833367 3566280477 6506424654 7345545499 4293449348
6968990044 8987395937 3408796060 5192054375 2853647484
0072213278 5933924853 4859932848 5932498717 8673989750
4925452491 6903269538 3271477465 0439998652 0434434170
7904695488 1172725221 3789862348 3822822721 1654529439
1616837374 6298350728 8398165246 1278875381 5306175514
4590906819 0362896137 8319993708 1044307371 4163891553
1451322989 0055850993 9872253326 4915621234 3017183736
8931844878 5900485186 6688390474 2756646731 2281784066
4862946034 6666674356 9602873913 4395467543 7984689788
7708900712 0255039289 6161841508 3092054335 7339829704
2952550660 7215349001 2248585208 9498588207 5912231871
0314801619 6903062303 7213421117 3023111759 9660831013
6759154145 5727787324 6190699827 0659868940 2395669411
2407797584 9710694717 7340887489 6193875015 0001939744
3544357012 3358216580 2636130855 4080747351 3196820047
8798550160 0589130178 1291099851 2278419464 1894735831
2719334069 6698995342 9280916185 2317335986 5083212737
2364112193 2490470626 3136712719 3813013933 3899240990
1775516632 4882095223 0799242044 9319870133 7096056870
8459497589 1450651737 5349288579 7175967548 7935623711
9360774997 4822512233 0812174841 3964484787 2433072172
7827489180 7312491337 7443437578 5779873379 8739791763
8178861649 8751609581 0477142839 3846724504 6405129400
4921304361 3992479005 5291129079 9757622793 6789398965
6083242633 3692647976 5701605100 9004963674 7523688739
2806200071 1144682333 4355220522 9111054044 6482767937
1878223567 3903057078 1889447449 8215594718 8095871152
8461751957 6210971073 8267804389 3454238213 3833995305
9815794419 9585868816 3167078896 8386333470 0039314433
5955164532 3053107157 7542428018 5926562977 5008607813
8683454632 9522849757 7897537461 3611634291 9044086269
5648295458 8670764985 8535531625 2530600169 9242155421
2157181996 9374699507 2282716836 1994826186 1806057683
5611324235 2221864902 0380645030 8325366658 2812891770
4332004360 3266627722 5168418657 7363756148 4080670653
6597775345 8714581579 9934000045 4772240182 1395517870
0421258541 6808437154 9279654711 5794408984 5000971425
6448844823 5737223491 3017290855 6084562252 0056074359
7766408794 6464779131 5984941925 6421729322 1703325952
6660355672 5576555360 0346191586 6714149130 0691448523
5777343974 4344576913 7753375625 5732265672 2090560598
2525691280 4079166282 5957071853 6140633001 0465020334
6440281692 9074927845 7492668027 3735546793 1613189891
2502020620 8940919290 8785321718 8132439885 2797173490
3533304763 1642231241 1158669653 2733721363 1760996876
1864999514 8992081247 4991853255 5254578758 2903707694
3725298210 1826990232 510                             

Fast 1/sqrt(2) AGM computed 1073741824 digits in 758058 seconds.


