public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* regression in Newlib 4.2.0
@ 2022-02-05  5:30 Paul Zimmermann
  0 siblings, 0 replies; 3+ messages in thread
From: Paul Zimmermann @ 2022-02-05  5:30 UTC (permalink / raw)
  To: newlib

       Hi,

another regression in Newlib 4.2.0 (with 4.1.0 the largest error for tgammaf
was 239 ulps according to
https://members.loria.fr/PZimmermann/papers/accuracy.pdf):

Checking tgamma with newlib-4.2.0.20211231
MPFR library: 4.1.0       
MPFR header:  4.1.0 (based on 4.1.0)
Checking function tgammaf with MPFR_RNDN
libm wrong by up to 1.55e+26 ulp(s) [18446744073709551615] for x=-0x1.000002p-65
tgamma      gives -inf
mpfr_tgamma gives -0x1.fffffcp+64
Total: errors=2967689031 (69.37%) errors2=2773050476 maxerr=1.55e+26 ulp(s)

Paul


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: regression in Newlib 4.2.0
  2022-02-04  4:36 Paul Zimmermann
@ 2022-02-09 14:27 ` Andoni Arregi
  0 siblings, 0 replies; 3+ messages in thread
From: Andoni Arregi @ 2022-02-09 14:27 UTC (permalink / raw)
  To: Paul Zimmermann, newlib

Dear Paul,

although we could fix the problem you spotted, we don't really got to
the root cause of the regression, i.e., this is not something that was
introduced in Newlib 4.2.0 and was not present in 4.1.0. wf_expf.c
didn't change in the meantime at all.

The only explanation I have is that it may have to do with the fact
that what you observed happens with the default compilation of Newlib.
If you compile with -D_IEEE_LIBM, then you will not see this
regression, as the wrappers for error handling disappear and with them
the problem.
It is a pity that for such a detailed analysis as the one you do, such
a small change in the build mechanism yields you completely different
implementations of the mathematical functions. I don't know whether
Newlib 4.1.0 was built by default with _IEEE_LIBM defined.

By the way, as we finished the work we have been carrying out for the
European Space Agency to qualify a mathematical library for critical
systems (which we based on the Newlib libm), we will now start
submitting a bunch of improvement patches for the Newlib libm.

We presented the LibmCS for the first time during the current Flight
Software Workshop 2022
(http://flightsoftware.jhuapl.edu/workshop/FSW2022)
https://www.youtube.com/watch?v=UcRefVlVL_A&list=PLK-T7jljJ6zbk0PshIwofgE2hiakBufJF&index=21

Best regards
  
On Fri, 2022-02-04 at 05:36 +0100, Paul Zimmermann wrote:
>        Hi,
> 
> I noticed a regression in Newlib 4.2.0:
> 
> Checking exp with newlib-4.2.0.20211231
> MPFR library: 4.1.0
> MPFR header:  4.1.0 (based on 4.1.0)
> libm wrong by up to 1.94e+04 ulp(s) for x=0x1.62e302p+6
> exp      gives inf
> mpfr_exp gives 0x1.ff691ep+127
> Total: errors=17982998 (0.42%) errors2=151 maxerr=1.94e+04 ulp(s)
> 
> The largest error for expf in Newlib 4.1.0 was 0.911 ulps
> (https://members.loria.fr/PZimmermann/papers/accuracy.pdf).
> 
> Best regards,
> Paul

-- 
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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* regression in Newlib 4.2.0
@ 2022-02-04  4:36 Paul Zimmermann
  2022-02-09 14:27 ` Andoni Arregi
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Zimmermann @ 2022-02-04  4:36 UTC (permalink / raw)
  To: newlib

       Hi,

I noticed a regression in Newlib 4.2.0:

Checking exp with newlib-4.2.0.20211231
MPFR library: 4.1.0
MPFR header:  4.1.0 (based on 4.1.0)
libm wrong by up to 1.94e+04 ulp(s) for x=0x1.62e302p+6
exp      gives inf
mpfr_exp gives 0x1.ff691ep+127
Total: errors=17982998 (0.42%) errors2=151 maxerr=1.94e+04 ulp(s)

The largest error for expf in Newlib 4.1.0 was 0.911 ulps
(https://members.loria.fr/PZimmermann/papers/accuracy.pdf).

Best regards,
Paul

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-02-09 14:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-05  5:30 regression in Newlib 4.2.0 Paul Zimmermann
  -- strict thread matches above, loose matches on Subject: below --
2022-02-04  4:36 Paul Zimmermann
2022-02-09 14:27 ` Andoni Arregi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).