Re: Questions about powf inaccuracies on ARM Cortex-M7

Paul Zimmermann <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
       Hi Matthias,

I'm not sure if the code used on ARM is the same as the one used on x86_64.
Anyway you can try the following entries from [1] and [2]:

x1 = 0x1.d55902p-1
y1 = -0x1.fe037ep+9
powf(x1,y1) yields an error of 169 ulps in Newlib 4.4.0:
libm gives 0x1.fffa12p+127
mpfr gives 0x1.fff8cp+127

x2 = 0x1.d6411cp-102
y2 = 0x1.793482p+0
powf(x2,y2) yields an error of 1.0 ulp in Newlib 4.5.0,
this is the largest error I found with Newlib 4.5.0 on x86_64
with rounding to nearest (the entry "169" in Table 1 of [2]
should read 1.00, I forgot to update it, this will be fixed
in the next update).

If you find different values than on x86_64, you can try the "check_sample2.c"
code we provide to find large errors on ARM (cf [1] or [2]).

Best regards,
Paul

[1] https://members.loria.fr/PZimmermann/papers/glibc240.pdf
[2] https://members.loria.fr/PZimmermann/papers/accuracy.pdf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.