]> sourceware.org Git - newlib-cygwin.git/commit
Fix error in powf for x close to 1 and large y
authorFabian Schriever <fabian.schriever@gtd-gmbh.de>
Fri, 11 Dec 2020 15:57:35 +0000 (16:57 +0100)
committerJeff Johnston <jjohnstn@redhat.com>
Fri, 11 Dec 2020 19:38:19 +0000 (14:38 -0500)
commitcf1ef2dc5b95342fa337141b3b1ec85aac73229f
tree0951671595086ca0720ba9512a857f4296c26a59
parent14123c991b3b833e93a9dbb66c23beaf58c9ebab
Fix error in powf for x close to 1 and large y

This patch fixes the error found by Paul Zimmermann (see
https://homepages.loria.fr/PZimmermann/papers/#accuracy) regarding x
close to 1 and rather large y (specifically he found the case
powf(0x1.ffffeep-1,-0x1.000002p+27) which returns +Inf instead of the
correct value). We found 2 more values for x which show the same faulty
behaviour, and all 3 are fixed with this patch. We have tested all
combinations for x in [+1.fffdfp-1, +1.00020p+0] and y in
[-1.000007p+27, -1.000002p+27] and [1.000002p+27,1.000007p+27].
newlib/libm/math/ef_pow.c
This page took 0.031015 seconds and 5 git commands to generate.