Date: Thu, 14 Feb 2008 10:23:51 +0000 (UTC) From: Bruce Evans <bde@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/msun/src e_powf.c Message-ID: <200802141023.m1EANpxr042954@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802141023.m1EANpxr042954>