3 * Inverse hyperbolic tangent
9 * float x, y, atanhf();
17 * Returns inverse hyperbolic tangent of argument in the range
20 * If |x| < 0.5, a polynomial approximation is used.
22 * atanh(x) = 0.5 * log( (1+x)/(1-x) ).
29 * arithmetic domain # trials peak rms
30 * IEEE -1,1 100000 1.4e-7 3.1e-8
38 Cephes Math Library Release 2.2: June, 1992
39 Copyright (C) 1987, 1992 by Stephen L. Moshier
40 Direct inquiries to 30 Frost Street, Cambridge, MA 02140
43 /* Single precision inverse hyperbolic tangent
44 * test interval: [-0.5, +0.5]
46 * peak relative error: 8.2e-8
47 * rms relative error: 3.0e-8
55 float atanhf( float xx )
76 mtherr( "atanhl", DOMAIN );
87 (((( 1.81740078349E-1 * z
88 + 8.24370301058E-2) * z
89 + 1.46691431730E-1) * z
90 + 1.99782164500E-1) * z
91 + 3.33337300303E-1) * z * x
96 z = 0.5 * logf( (1.0+x)/(1.0-x) );