[PATCH 0/4] Fix huge error for pow detected by Paul Zimmermann
Paul Zimmermann
Paul.Zimmermann@inria.fr
Thu Apr 13 12:16:31 GMT 2023
Hi Andoni,
I had time to check this patch series on top of be2749c.
I confirm the issue I reported is fixed.
In addition, the maximal known error, which was 636 ulps
apart from the above issue, has dropped to less than 1 ulp:
pow 0 -1 0x1.4c3064d46aef3p-851,-0x1.cef4118ed50c2p-10 [0.893] 0.892119 0.8921192373561432
Thank you, great work!
Paul
> From: Andoni Arregi <andoni.arregui@gtd-gmbh.de>
> Cc: Andoni Arregi <andoni.arregui@gtd-gmbh.de>
> Date: Wed, 12 Apr 2023 17:34:41 +0200
>
> This patch series fixes in pow the huge error detected by Paul
> Zimmermann where x is negative and y is a large odd integer.
>
> There is also an accuracy fix for cases where x is close to 1 and y is
> large.
>
> Andoni Arregi (4):
> Fix missing sign for overflow/underflow where x is negative and y is
> large odd integer
> Fix x close to 1, y between 2^31 and 2^64
> Compare j as unsigned
> Replace always true if with else
>
> newlib/libm/math/e_pow.c | 48 +++++++++++++++++++++-------------------
> 1 file changed, 25 insertions(+), 23 deletions(-)
>
> --
> 2.40.0
>
>
>
More information about the Newlib
mailing list