Joseph Myers
cb0937b299
Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569).
...
In the x86 / x86_64 implementations of expm1l, when expm1l's result
should underflow to 0 (argument minus the least subnormal, in some
rounding modes), it can be a zero of the wrong sign. This patch fixes
this by returning the argument with underflow forced in that case
(this is a 1ulp error relative to the correctly rounded result of -0,
which is OK in terms of the documented accuracy goals, whereas a
result with the wrong sign never is).
Tested for x86_64 and x86.
[BZ #18569 ]
* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Force
underflow and return argument in case of subnormal argument.
* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]:
Likewise.
* math/auto-libm-test-in: Add more tests of expm1.
* math/auto-libm-test-out: Regenerated.
2015-06-21 18:43:10 +00:00
..
2014-07-17 14:31:12 +00:00
2015-01-02 16:29:47 +00:00
2015-06-21 18:43:10 +00:00
2015-06-08 14:07:59 +03:00
2015-03-28 00:44:22 -04:00
2015-01-05 11:59:32 -05:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-03-31 13:18:10 -07:00
2015-06-11 13:50:07 +03:00
2015-06-11 13:50:07 +03:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-03-31 05:16:57 -07:00
2015-03-31 05:16:57 -07:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-03-16 14:59:14 -07:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-05-30 10:50:21 -07:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-02-06 10:42:08 -08:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-10-30 17:32:08 +10:00
2013-10-30 17:32:08 +10:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2014-06-20 19:50:16 -07:00
2013-09-23 00:52:09 -04:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-03-18 07:39:12 +01:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-06-09 14:25:49 +03:00
2015-01-02 16:29:47 +00:00
2014-11-05 15:24:08 +05:30
2014-11-05 15:24:08 +05:30
2014-11-05 15:24:08 +05:30
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2013-04-25 19:23:11 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00
2015-06-09 21:07:30 +00:00
2015-01-02 16:29:47 +00:00
2015-01-02 16:29:47 +00:00