Use of C99 extra long double math functions after r236148

Stephen Montgomery-Smith stephen at missouri.edu
Sun Aug 12 23:12:38 UTC 2012


This is what I came up with for catanh.  I seem to get a ULP less than 3.


On 07/22/2012 06:13 PM, Peter Jeremy wrote:
> The "normal" cases are (algorithmetically with '^' as exponentiation):
>
> catanh(z) = clog((1+z)/(1-z))/2
>            = (clog(1+z) - clog(1-z))/2
> catanh(x+I*y) = log((y^2 + (1+x)^2)/(y^2 + (1-x)^2))/4 + I*atan2(y^2, 1-x^2-y^2)/2
>
> None of these approaches behave cleanly when |z| is close to 1.  If
> you have some insights, feel free to work on it.
>



More information about the freebsd-numerics mailing list