glibc/sysdeps/ieee754/ldbl-96
Joseph Myers 2ca725c594 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.
2015-02-27 17:48:37 +00:00
..
e_acoshl.c
e_asinl.c Fix asin missing underflows (bug 16351). 2015-02-26 17:18:54 +00:00
e_atanhl.c Fix ldbl-96, ldbl-128ibm atanhl inaccuracy (bug 18046, bug 18047). 2015-02-27 17:48:37 +00:00
e_coshl.c
e_gammal_r.c
e_hypotl.c
e_j0l.c Avoid uninitialized warnings in Bessel functions. 2015-02-26 21:49:19 +00:00
e_j1l.c Avoid uninitialized warnings in Bessel functions. 2015-02-26 21:49:19 +00:00
e_jnl.c
e_lgammal_r.c
e_rem_pio2l.c
e_sinhl.c
gamma_product.c
gamma_productl.c
k_cosl.c
k_sinl.c
k_tanl.c
ldbl2mpn.c
math_ldbl.h
mpn2ldbl.c
printf_fphex.c
s_asinhl.c
s_cbrtl.c
s_copysignl.c
s_cosl.c
s_erfl.c
s_fma.c
s_fmal.c
s_frexpl.c
s_isinf_nsl.c
s_issignalingl.c
s_llrintl.c
s_llroundl.c
s_lrintl.c
s_lroundl.c
s_modfl.c
s_nexttoward.c
s_nexttowardf.c
s_remquol.c Fix sign of remquo zero remainder in round-downward mode (bug 17987). 2015-02-17 00:41:50 +00:00
s_roundl.c
s_scalblnl.c Fix ldbl-96 scalblnl underflowing results (bug 17803). 2015-01-12 23:02:14 +00:00
s_signbitl.c
s_sincosl.c Fix sincos errno setting (bug 15467). 2015-02-11 23:17:25 +00:00
s_sinl.c
s_tanhl.c
s_tanl.c
strtold_l.c
t_sincosl.c
w_expl.c
x2y2m1.c
x2y2m1l.c