ひやしたと申します。
級数展開とか忘却の彼方でして、宮前さんがお試しになった方法より
精度が出るのかどうなのか全くわかりませんが、
私の所有している書籍にC言語のソースが記載されているものがあります。
奥村晴彦著・技術評論社「C言語による最新アルゴリズム辞典」
という書籍でして、「すけ」さん同様、atanから求める方法です。
以下、atanを求めるコードです。
#define N 24
#define PI 3.1415926358979323846264
long double latan(long double x)
{
int i, sgn;
long double a;
if(x>1){sgn=1;x=1/x;}
else if(x<-1){sgn=-1;x=1/x;}
else sgn=0;
a=0;
for(i=N;i>=1;i--)
a=(i*i*x*x)/(2*i+1+a);
if(sgn>0) return PI/2-x/(1+a);
if(sgn<0) return -PI/2-x/(1+a);
/* else */ return x/(1+a);
}
何だかループ回数と誤差の関係とか、約2ページに渡って解説されていますが、
私にはチンプンカンプンでして、とりあずコードだけ転記致しました。