Thanks Andoni and Paul. Patches pushed to master. -- Jeff J. On Thu, Apr 13, 2023 at 10:42 AM Andoni Arregi wrote: > Dear Paul, > > thank *you* for detecting the errors/inaccuracies first (questions are as > important as the answers) and then > independently confirming that the patch solves them. > > You know how tricky this is and how easy it is to fix something here and > break it there. That's why such an independent > verification in addition to our tests is so important :-) > > By the way, most of the submitted work is product of the effort of our > colleague Fabian Schriever. > > Best regards > > On Thu, 2023-04-13 at 14:16 +0200, Paul Zimmermann wrote: > > 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 > > > Cc: Andoni Arregi > > > 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 > > > > > > > > > > > -- > Andoni Arregi > Geschäftsführer > > GTD GmbH > Ravensburger Str. 32a, 88677 Markdorf > T: +49 7544 96440 22 | M: +49 151 65620499 | F: +49 7544 96440 29 > http://www.gtd-gmbh.de andoni.arregi@gtd-gmbh.de > >