This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [ballen@uwm.edu] libc/2269: triginometric argument reductionerror in libm
- To: ballen at gravity dot phys dot uwm dot edu
- Subject: Re: [ballen@uwm.edu] libc/2269: triginometric argument reductionerror in libm
- From: Geoff Keating <geoffk at geoffk dot org>
- Date: Sun, 20 May 2001 12:14:22 -0700
- CC: aj at suse dot de, libc-alpha at sources dot redhat dot com, ballen at uwm dot edu, moshier at mediaone dot net
- References: <Pine.GSO.4.21.0105201028390.6437-100000@dirac>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
> 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>