From 90b6a1e55fdbb3e6a3132742c26eb19666ad9e33 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 2 Jan 2014 16:34:24 +0000 Subject: Fix ldbl-128ibm asinhl inaccuracy (bug 16385). 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. * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__asinhl): Use fabsl not fabs. --- sysdeps/ieee754/ldbl-128ibm/s_asinhl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sysdeps/ieee754/ldbl-128ibm/s_asinhl.c') diff --git a/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c b/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c index 63c6edb..043b151f 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)); -- cgit v1.1