4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-16 14:09:21 +08:00
Fabian Schriever 5fcf159b99 powf: Fix the hi+lo decomposition for 2/(3ln2) (FreeBSD)
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.

Reference: b4437c3d32
Original Author: Bruce Evans
2024-09-19 13:58:12 -04:00
..
2022-12-16 12:18:28 -05:00
2023-04-13 13:36:11 -04:00
2021-06-04 14:42:58 -04:00
2018-08-08 10:50:19 +02:00
2021-06-04 14:42:58 -04:00
2018-08-08 10:50:19 +02:00
2020-03-18 10:05:11 +01:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2017-12-01 03:41:53 -06:00
2021-06-04 14:42:58 -04:00
2021-06-04 14:42:58 -04:00
2020-12-18 10:06:31 +01:00
2022-02-10 15:59:14 +01:00
2020-12-18 10:06:31 +01:00