Arctan Formulae for Computing π

Number of Terms

My γ bakes the best π!


To compute π to d digits; that is, to converge each individual series to 10−d; that is, compute sufficient terms so that the nth term is:

          1            ≤  10−d
(2n-1)·q2n-1

Taking logarithms of both sides, simplifying by discarding small values, and rearranging, we get an approximate value for n:

n  ≈       d      
2·log q

Thus to compute π for d = 100000 would take approximately:

seriesq2terms
1/24166,100
1/39104,800
1/416  83,000
1/525  71,500
1/749  59,200
1/864  55,400
1/10100  50,000
1/18324  39,800
1/20400  38,400
1/492,401  29,600
1/573,249  28,500
1/704,900  27,100
1/999,801  25,100
1/23957,121  21,000
1/515265,225  18,400
1/682465,124  17,600
1/19853,940,225  15,200
1/12943167,521,249  12,200
1/110443 12,197,656,249     9,900

Clearly dividing terms by, say, 57121 will cause them to get very small much faster than dividing by 16!

We can use this table to estimate approximately the relative speeds of the various formulae by computing the total number of terms required to converge all the series in each:

 formula seriestotal terms
2  1/2     1/3270,900
3  1/2     1/5       1/8293,000
4  1/2     1/7225,300
5  1/3     1/7164,000
6  1/4     1/20     1/1985136,600
7  1/5     1/70     1/99123,700
8  1/5     1/239  92,500
9  1/8     1/57     1/239104,900
10  1/10   1/239   1/515  89,400
11  1/18   1/57     1/239  89,300
12  1/49   1/57     1/239   1/110443    89,000
13  1/57   1/239   1/682   1/12943  79,300

The last two formulae must be used with care. The typical largest integer value permited in a computer (with a 32 bit word) is around 2,000,000,000. The values of q2 either exceed this or are very close. This "overflow" error might be eliminated by dividing each "partial" term twice by q rather than once by q2 but this change will cause in increase in computation time by about 50% for this series. While the number of total terms is the same, the effect would be to use 18,000 for the 1/12943 series and 15,000 for the 1/110443 series. This would make the equivalent "total terms" for comparison 94,000 for Formula 12 and 85,000 for Formula 13.

This table indicates that Formula 13 is the fastest algorithm, followed by Formulas 10, 11,and 12 with Formula 8 close behind. In this approximation, Formula 11 is faster than Formula 8, as an example, even though it needs to compute three series rather than two because the relatively faster convergence of the "slowest" series, the 1/18.

This discussion on the relative speeds is just a first approximation. In practice, other corrections and overhead may change the actual relative speeds of the various series. The "last word" is actually to perform the various computation and time the calculations!