This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/16539] spurious underflow exception from expm1
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 24 Jun 2014 21:01:08 +0000
- Subject: [Bug math/16539] spurious underflow exception from expm1
- Auto-submitted: auto-generated
- References: <bug-16539-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16539
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 4060283decf711ed95a6c4993ffeaba39f8cd40a (commit)
from e7dd3c8c1db8c6d293abb995e033893b7328ad19 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4060283decf711ed95a6c4993ffeaba39f8cd40a
commit 4060283decf711ed95a6c4993ffeaba39f8cd40a
Author: Joseph Myers <joseph@codesourcery.com>
Date: Tue Jun 24 21:00:08 2014 +0000
Fix x86/x86_64 expm1l spurious underflow exceptions (bug 16539).
This patch fixes bug 16539, spurious underflow exceptions from x86 /
x86-64 expm1l. The problem is that the computation of a base-2
exponent with extra precision involves spurious underflows for
arguments that are small but not subnormal, so a check is added to
just return the argument in those cases. (If the argument *is*
subnormal, underflowing is correct and the existing code will always
underflow, so it suffices to keep using the existing code in that
case; some expm1 implementations have a bug (bug 16353) with missing
underflow exceptions, but I don't think there's such a bug in this
particular version.)
Tested x86_64 and x86; no ulps updates needed.
(auto-libm-test-out diffs omitted below.)
[BZ #16539]
* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Just
return the argument for normal arguments with exponent below -64.
* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]:
Likewise.
* math/auto-libm-test-in: Add another test of expm1.
* math/auto-libm-test-out: Regenerated.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 ++++
NEWS | 22 ++++++------
math/auto-libm-test-in | 2 +
math/auto-libm-test-out | 81 +++++++++++++++++++++++++++++++++++++++++++
sysdeps/i386/fpu/e_expl.S | 10 +++++
sysdeps/x86_64/fpu/e_expl.S | 10 +++++
6 files changed, 122 insertions(+), 11 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.