This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/17061] New: [ldbl-128/ldbl-128ibm] coshl inaccurate near 0
- From: "jsm28 at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 16 Jun 2014 21:22:12 +0000
- Subject: [Bug math/17061] New: [ldbl-128/ldbl-128ibm] coshl inaccurate near 0
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=17061
Bug ID: 17061
Summary: [ldbl-128/ldbl-128ibm] coshl inaccurate near 0
Product: glibc
Version: 2.19
Status: NEW
Severity: normal
Priority: P2
Component: math
Assignee: unassigned at sourceware dot org
Reporter: jsm28 at gcc dot gnu.org
The ldbl-128 and ldbl-128ibm implementations of coshl have a threshold for
small arguments for which the result (to nearest) is 1. However, in those
cases they return 1 + expm1(abs(x)) rather than 1, and while the threshold is
small enough for cosh(x) (1 + x^2/2 + ...) to be 1, it's not small enough for 1
+ abs(x) to be 1, resulting in large errors. E.g., for ldbl-128:
Failure: Test: cosh (0x1p-72)
Result:
is: 1.00000000000000000000e+00 0x1.00000000000000000100p+0
should be: 1.00000000000000000000e+00 0x1.00000000000000000000p+0
difference: 2.11758236813575084767e-22 0x1.00000000000000000000p-72
ulp : 1099511627776.0000
max.ulp : 1.0000
and for ldbl-128ibm:
Failure: Test: cosh (0x1p-56)
Result:
is: 1.00000000000000001388e+00 0x1.00000000000001000000p+0
should be: 1.00000000000000000000e+00 0x1.00000000000000000000p+0
difference: 1.38777878078144567553e-17 0x1.00000000000000000000p-56
ulp : 562949953421312.0000
max.ulp : 3.0000
--
You are receiving this mail because:
You are on the CC list for the bug.