[ballen@uwm.edu] libc/2269: triginometric argument reductionerror in libm

Geoff Keating geoffk@geoffk.org
Sun May 20 12:15:00 GMT 2001


> Date: Sun, 20 May 2001 10:31:22 -0500 (CDT)
> From: Bruce Allen <ballen@gravity.phys.uwm.edu>
> cc: aj@suse.de, libc-alpha@sources.redhat.com, ballen@uwm.edu,
>         moshier@mediaone.net
> 
> 
> 
> On Sun, 20 May 2001, Geoff Keating wrote:
> 
> > Someone needs to fix libc/sysdeps/i386/fpu/s_sin.S so that it does
> > proper range reduction, I think.  It works fine on non-x86 chips.
> > 
> > Intel's manual (I was looking at the 'Pentium Processor Family
> > Developer's Manual, volume 3') has some spectacularly bad advice on
> > how to do range reduction.  I would suggest ignoring it.
> 
> Geoff, 
> 
> Could you please give a URL for this manual?  I'm familiar enough with the
> problems of range reduction to be interested in seeing how they got it
> wrong.

I don't remember where I got it from, other than it was Intel's web
site, but they advise that you should use the same value of pi as the
value used internally for range reduction, which is accurate to 66
bits, or that you should reduce all arguments down to less than pi/4
in software.  Neither is necessary, since the builtin fsin opcode
is guaranteed accurate up to 2^63, so it is only necessary to reduce
outside that range.

-- 
- Geoffrey Keating <geoffk@geoffk.org>



More information about the Libc-alpha mailing list