about summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2012-04-26 11:18:11 -0500
committerRyan S. Arnold <rsa@linux.vnet.ibm.com>2012-04-26 11:18:11 -0500
commit0ac229c819afd15ba323838ba72d0a409f16acc4 (patch)
tree0d048606e0862cf36d0e3798fe623fca0d41c859 /sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
parent33f244f40b38fda964ccbfd4fa928a3d3d738f53 (diff)
downloadglibc-0ac229c819afd15ba323838ba72d0a409f16acc4.tar.gz
glibc-0ac229c819afd15ba323838ba72d0a409f16acc4.tar.xz
glibc-0ac229c819afd15ba323838ba72d0a409f16acc4.zip
Fix ctan, ctanh overflow for ldbl-128ibm (bug 11521).
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/e_sinhl.c')
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_sinhl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
index 4bae85a5a4..4e8481c419 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c
@@ -54,7 +54,8 @@ __ieee754_sinhl(long double x)
 		if(shuge+x>one) return x;/* sinhl(tiny) = tiny with inexact */
 	    t = __expm1l(fabsl(x));
 	    if(ix<0x3ff0000000000000LL) return h*(2.0*t-t*t/(t+one));
-	    return h*(t+t/(t+one));
+	    w = t/(t+one);
+	    return h*(t+w);
 	}
 
     /* |x| in [40, log(maxdouble)] return 0.5*exp(|x|) */