On 29 August 2007 18:31, Brian Dessent wrote: > Dave Korn wrote: > >> Since when was pi less than 2^-27? > > This is a kernel sin, a function over the limited range [-pi/4, pi/4], > where the general case sin is reduced to kernel sin by the remainder of > modulus pi/2.
Ah, I see. >> I think it may be an artefact of FP precision and/or rounding mode, but >> I'd need to do more experiments to make sure. OTOH it could be an >> artifact of the printf %g specfier. Like I said, more experimentation is >> needed! > > A problem with the testcase is the .10. It helps to expand that so that > you see the entire value. Or use %a. newlib returns 3CED1A62633145C0 > whereas both MSVCRT and x86 linux seem to return 3CED1A6000000000. It > sort of looks like a truncation problem but since glibc agrees with > msvcrt (shock!) I tend to think the latter is right. The actual > mantissas are: > > newlib 1.1101000110100110001001100011001100010100010111000000 > other 1.1101000110100110000000000000000000000000000000000000 This looks more and more like an extended precision issue. Good ol' PR323! I'll dig out my fpctl macro and have a try... cheers, DaveK -- Can't think of a witty .sigline today.... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/