From 2ca725c594e0c186d928dc0823be7d8b5976112c Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 27 Feb 2015 17:48:37 +0000 Subject: Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047). The threshold in ldbl-96 atanhl for when to return the argument, 0x1p-28, is a bit too big, and that in ldbl-128ibm atanhl is much too big (the relevant condition being x^3/3 being < 0.5ulp of x), resulting in errors a bit above the limits of those considered acceptable in glibc in the ldbl-96 case, and in large errors in the ldbl-128ibm case. This patch changes those implementations to use more appropriate thresholds and adds tests around the thresholds for various formats. Tested for x86_64, x86 and powerpc. x86_64 and x86 ulps updated accordingly. [BZ #18046] [BZ #18047] * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c (__ieee754_atanhl): Use 0x1p-56L as threshold for just returning the argument. * sysdeps/ieee754/ldbl-96/e_atanhl.c (__ieee754_atanhl): Use 0x1p-32L as threshold for just returning the argument. * math/auto-libm-test-in: Add more tests of atanh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulp: Likewise. --- NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 24ebc36ff6..7b83d75b96 100644 --- a/NEWS +++ b/NEWS @@ -12,7 +12,8 @@ Version 2.22 4719, 14841, 13064, 14094, 15319, 15467, 15790, 15969, 16351, 16560, 16783, 17269, 17523, 17569, 17588, 17792, 17836, 17912, 17916, 17932, 17944, 17949, 17964, 17965, 17967, 17969, 17978, 17987, 17991, 17996, - 17998, 17999, 18019, 18020, 18029, 18030, 18032, 18038, 18039. + 17998, 17999, 18019, 18020, 18029, 18030, 18032, 18038, 18039, 18046, + 18047. * Character encoding and ctype tables were updated to Unicode 7.0.0, using new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red -- cgit v1.2.3