cvs commit: src/lib/msun/src e_powf.c
Bruce Evans
bde at FreeBSD.org
Thu Feb 14 02:23:52 PST 2008
bde 2008-02-14 10:23:51 UTC
FreeBSD src repository
Modified files:
lib/msun/src e_powf.c
Log:
Fix the hi+lo decomposition for 2/(3ln2). The decomposition needs to
be into 12+24 bits of precision for extra-precision multiplication,
but was into 13+24 bits. On i386 with -O1 the bug was hidden by
accidental extra precision, but on amd64, in 2^32 trials the bug
caused about 200000 errors of more than 1 ulp, with a maximum error
of about 80 ulps. Now the maximum error in 2^32 trials on amd64
is 0.8573 ulps. It is still 0.8316 ulps on i386 with -O1.
The nearby decomposition of 1/ln2 and the decomposition of 2/(3ln2) in
the double precision version seem to be sub-optimal but not broken.
Revision Changes Path
1.14 +2 -2 src/lib/msun/src/e_powf.c
More information about the cvs-src
mailing list