This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/14412] Removal of sysdeps/x86_64/fpu/s_sincos.S causes regressions


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]