known maximal errors

Joseph Myers joseph@codesourcery.com
Thu Feb 9 17:48:54 GMT 2023


On Thu, 9 Feb 2023, Paul Zimmermann via Libc-alpha wrote:

>        Hi,
> 
> [1] gives a maximal known error of 0 ulp for hypotf on x86_64, but the
> following gives an error of 1 ulp:

This is generated from libm-test-ulps files.  You can add inputs resulting 
in larger errors to auto-libm-test-in and regenerate the relevant 
auto-libm-test-out-* file (and then architecture maintainers should update 
their libm-test-ulps files as appropriate).  If an input results in a 
larger error than the known maximum, but not large enough to be considered 
a bug and thus result in test failures whatever is put in libm-test-ulps, 
then it should be appropriate to add to auto-libm-test-in.

> For binary64 sin a maximal known error of 2 ulps is given but I can only
> find an error of 0.516 ulps, thus rounding to 1.
> Do you have an example with 2 ulps on x86_64 ?

libm-test-ulps files aren't often regenerated from scratch (note that they 
reflect maximal errors for the test inputs across a range of 
configurations, that may vary in e.g. when the compiler chose to contract 
operations, or whether an optimized implementation for a particular 
processor was used, so running the testsuite in a single configuration may 
not suffice to produce libm-test-ulps that will then result in it passing 
for all configurations).  So they may well contain entries that were 
correct for a previous version of the code but exceed the maximum error 
that can occur with the current code.

-- 
Joseph S. Myers
joseph@codesourcery.com


More information about the Libc-alpha mailing list