cvs commit: src/lib/msun/src e_asinf.c
bde at FreeBSD.org
Sun Dec 4 05:52:47 PST 2005
bde 2005-12-04 13:52:46 UTC
FreeBSD src repository
Fixed the approximation to pio4. pio4_hi must be pio2_hi/2 since it
shares its low half with pio2_hi. pio2_hi is rounded down although
rounding to nearest would be a tiny bit better, so pio4_hi must be
rounded down too. It was rounded to nearest, which happens to be
different in float precision but the same in double precision.
This fixes about 13.5 million errors of more than 1 ulp in asinf().
The largest error was 2.81 ulps on amd64 and 2.57 ulps on i386 -O1.
Now the largest error is 0.93 ulps on amd65 and 0.67 ulps on i386 -O1.
Revision Changes Path
1.9 +1 -1 src/lib/msun/src/e_asinf.c
More information about the cvs-all