前回求めた有理関数を展開すると、
h1とh2が近そうだが、実際に[1,2]で最大誤差を見てみると、
0 : error = 0.00520393
1 : error = 0.000249046
2 : error = 0.000186153
3 : error = 0.00129726
4 : error = 0.0901862
と、h2がわずかによい。
n = 5だと、
0 : error = 0.00382214
1 : error = 0.000101333
2 : error = 2.54874e-005
3 : error = 5.77497e-005
4 : error = 0.000722938
5 : error = 0.0764805
と、
が最もよくなって、連分数と変わらなかった。
atan
同様にatanについても求めよう。
精度はCGに使うのに、[0,1]でたぶん1e-4程度あれば十分だと思うが、1e-5としておく。
そうすると、n=6が必要で、
となって、最大誤差が5.56331e-6となった。
ベンチマークすると、atanの約87nsが約15nsと単に割り算するのとあまり変わらない数値となった。