largest known errors
Paul Zimmermann
Paul.Zimmermann@inria.fr
Thu Dec 14 08:25:45 GMT 2023
Hi Joseph,
> Date: Wed, 13 Dec 2023 21:40:04 +0000
> From: Joseph Myers <joseph@codesourcery.com>
> CC: Paul Zimmermann <Paul.Zimmermann@inria.fr>, <libc-alpha@sourceware.org>
>
> On Wed, 13 Dec 2023, Carlos O'Donell wrote:
>
> > There are two issues here and the nuances around them matter to me.
> >
> > (a) There are known defects where ULPs may reach values that are not useful
> > for talking about the library in general.
> >
> > (b) There is value in being clear about the worst case known ULPs for an
> > implementation of a given algorithm.
> >
> > If a test is marked as XFAIL then it is clearly (a) and listing that worst
> > case ULPs in the manual may not be useful.
> >
> > If the test is not marked as XFAIL then it is clearly in (b) and we should
> > list it in the manual as the worst case known ULPS because that is what
> > the currently implemented algorithm does.
> >
> > Lastly, all XFAIL entries should reference bugs in our bug tracker, and
> > if they don't then we should create them to track and resolve the bug.
>
> Also, a huge table by architecture (when many libm-test-ulps files may not
> get reliably updated) may not be the most helpful way of presenting this
> information.
>
> In most case, it might be better for libm-test-ulps data to be by
> floating-point format (rather than type; for the narrowing functions,
> there are two formats involved, but ulps should be zero for those
> everywhere except when narrowing from IBM long double), but shared between
> architectures. Although there are some architecture-specific
> implementations and variation between architectures for results (because
> of different implementations, variation in whether fma gets contracted,
> etc.), there aren't so many such variations (especially once we remove
> ia64), and listing the maximum ulps expected for a function for a given
> format might be better than trying to track architecture-specific values
> (just as we got rid of ulps entries for individual test inputs a long time
> ago). If we made that change, maybe the vector function ulps would still
> sensibly be architecture-specific; and initial entries for an
> architecture-independent libm-test-ulps file might better be determined by
> what ulps actually appear on a few architectures than by taking the
> maximum across existing libm-test-ulps files, many of which are not
> well-maintained.
that would indeed simplify the presentation, but we still need to find a way
to give accurate information to the user.
I've filled a bug (PR #31165) so that we can keep track of this issue.
Paul
More information about the Libc-alpha
mailing list