From cf36e5034fa8ed5d44036bce09a55a7f00d19252 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 5 Aug 2015 15:01:58 +0000 Subject: Fix powf (close to -1, large) (bug 18647). The flt-32 implementation of powf wrongly uses x-1 instead of |x|-1 when computing log (x) for the case where |x| is close to 1 and y is large. This patch fixes the logic accordingly. Relevant tests existed for x close to 1, and corresponding tests are added for x close to -1, as well as for some new variant cases. Tested for x86_64 and x86. [BZ #18647] * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): For large y and |x| close to 1, use absolute value of x when computing log. * math/auto-libm-test-in: Add more tests of pow. * math/auto-libm-test-out: Regenerated. --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index fd0fd74e39..8d7a8b4f61 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-08-05 Joseph Myers + + [BZ #18647] + * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): For large y + and |x| close to 1, use absolute value of x when computing log. + * math/auto-libm-test-in: Add more tests of pow. + * math/auto-libm-test-out: Regenerated. + 2015-08-05 Adhemerval Zanella * sysdeps/unix/sysv/linux/arm/mmap.c: Add file. -- cgit 1.4.1