[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