freebsd-dev/lib/msun
Bruce Evans b4437c3d32 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.
2008-02-14 10:23:51 +00:00
..
amd64 Use hardware remainder on amd64 since it is 5 to 10 times faster than 2008-02-13 06:01:48 +00:00
arm Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
bsdsrc Fix tgamma() on some special args: 2007-05-02 15:24:49 +00:00
i387 Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +00:00
ia64 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
ld80 Fix exp2*(x) on signaling NaNs by returning x+x as usual. 2008-02-13 10:44:44 +00:00
ld128 Fix exp2*(x) on signaling NaNs by returning x+x as usual. 2008-02-13 10:44:44 +00:00
man Introduce a new log(3) manpage and move the relevant functions there. 2008-01-18 21:43:00 +00:00
powerpc Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
sparc64 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
src Fix the hi+lo decomposition for 2/(3ln2). The decomposition needs to 2008-02-14 10:23:51 +00:00
Makefile On arches where long double is the same as double, alias ceil(), floor() 2008-02-13 16:56:52 +00:00
Symbol.map Hook up exp2l() and related docs to the build. 2008-01-18 21:43:10 +00:00