# Spouge's approximation

In mathematics, Spouge's approximation is a formula for the gamma function due to John L. Spouge in 1994.[1] The formula is a modification of Stirling's approximation, and has the form

$\Gamma(z+1) = (z+a)^{z+1/2} e^{-(z+a)} \left[ c_0 + \sum_{k=1}^{a-1} \frac{c_k}{z+k} + \varepsilon_a(z) \right]$

where a is an arbitrary positive integer and the coefficients are given by

$c_0 = \sqrt{2 \pi}\,$
$c_k = \frac{(-1)^{k-1}}{(k-1)!} (-k+a)^{k-1/2} e^{-k+a} \quad k\in\{1,2,\dots, a-1\}.$

Spouge has proved that, if Re(z) > 0 and a > 2, the relative error in discarding εa(z) is bounded by

$\,a^{-1/2} (2 \pi)^{-(a+1/2)}.$

The formula is similar to the Lanczos approximation, but has some distinct features. Whereas the Lanczos formula exhibits faster convergence, Spouge's coefficients are much easier to calculate and the error can be set arbitrarily low. The formula is therefore feasible for arbitrary-precision evaluation of the gamma function. However, special care must be taken to use sufficient precision when computing the sum due to the large size of the coefficients $c_k$, as well as their alternating sign. For example, for a=49, you must compute the sum using about 65 decimal digits of precision in order to obtain the promised 40 decimal digits of accuracy.