This is the mail archive of the libc-alpha@sources.redhat.com 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]

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


> 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>


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