This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/14412] Removal of sysdeps/x86_64/fpu/s_sincos.S causes regressions
- From: "bugdal at aerifal dot cx" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 01 May 2013 22:25:14 +0000
- Subject: [Bug math/14412] Removal of sysdeps/x86_64/fpu/s_sincos.S causes regressions
- Auto-submitted: auto-generated
- References: <bug-14412-131 at http dot sourceware dot org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=14412
--- Comment #47 from Rich Felker <bugdal at aerifal dot cx> 2013-05-01 22:25:14 UTC ---
Another citation, from the C99 Rationale
(http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf), supporting
the option to give wrong results for trig functions:
Page 27, lines 9-13:
"Some math functions such as those that do argument reduction modulo an
approximation of Ï have good accuracy for small arguments, but poor accuracy
for large arguments. It is not unusual for an implementation of the
trigonometric functions to have zero bits correct in the computed result for
large arguments. For cases like this, an implementation might break the domain
of the function into disjoint regions and specify the accuracy in each region."
Note that an implementation should still document the accuracy, and in the case
of wrong argument reduction, the error could theoretically be as large as
2**1074 ULPs for some inputs of sin/cos (if the correct result were denormal
but the function returned 1.0 or -1.0) and much worse (even possibly infinite)
for tan.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.