(__ieee754_sinhl): sinhl(x) = x when x < 2^-32.

This commit is contained in:
Andreas Jaeger 2001-05-29 15:41:11 +00:00
parent c9bfaa1bb5
commit 855a7fdbfa

View File

@ -66,7 +66,7 @@ static long double one = 1.0, shuge = 1.0e4931L;
if (jx & 0x8000) h = -h;
/* |x| in [0,25], return sign(x)*0.5*(E+E/(E+1))) */
if (ix < 0x4003 || (ix == 0x4003 && i0 <= 0xc8000000)) { /* |x|<25 */
if (ix<0x3fe3) /* |x|<2**-28 */
if (ix<0x3fdf) /* |x|<2**-32 */
if(shuge+x>one) return x;/* sinh(tiny) = tiny with inexact */
t = __expm1l(fabsl(x));
if(ix<0x3fff) return h*(2.0*t-t*t/(t+one));