Fix ldbl-128ibm asinhl inaccuracy (bug 16385)
Joseph S. Myers
joseph@codesourcery.com
Wed Jan 1 18:41:00 GMT 2014
This patch fixes bug 16385, ldbl-128ibm asinhl inaccuracy, which
showed up while attempting to regenerate ulps for powerpc-nofpu for
2.19. The problem here was use of fabs instead of fabsl meaning large
arguments were reduced to the precision of double. Tested for
powerpc-nofpu.
2014-01-01 Joseph Myers <joseph@codesourcery.com>
[BZ #16385]
* sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__asinhl): Use fabsl not
fabs.
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c b/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c
index 63c6edb..043b151 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c
@@ -48,7 +48,7 @@ long double __asinhl(long double x)
if(huge+x>one) return x; /* return x inexact except 0 */
}
if(ix>0x41b0000000000000LL) { /* |x| > 2**28 */
- w = __ieee754_logl(fabs(x))+ln2;
+ w = __ieee754_logl(fabsl(x))+ln2;
} else if (ix>0x4000000000000000LL) { /* 2**28 > |x| > 2.0 */
t = fabs(x);
w = __ieee754_logl(2.0*t+one/(__ieee754_sqrtl(x*x+one)+t));
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list