math: Add inputs that yield larger errors for float type
Carlos O'Donell
carlos@redhat.com
Wed Apr 1 01:47:00 GMT 2020
On 3/31/20 4:37 PM, Joseph Myers wrote:
> On Tue, 31 Mar 2020, Carlos O'Donell via Libc-alpha wrote:
>
>> I'd like to see Joseph give this quick review also before committing.
>
> This patch is OK.
>>
>> You don't say why you limit j*/y* functions to ULP <=9, but I expect the
>
> The libm-test machinery refuses to accept a larger ULP value in a
> libm-test-ulps file. So any input that produces a larger ULP value
> results in a test FAIL. And we have Bugzilla to track known issues rather
> than leaving FAILs in the testsuite.
>
Paul,
The changes trigger higher ULPs on my test system and one failure for y1.
Things pass if I drop the y1 value e.g. 0x1.f7e5dcp+0.
I don't think we can reliably add y1.
I can push your patch without the y1 value, tell me if that works for you.
See the attached patch.
I'm using gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC), and the y1
test seems sensitive to compilers.
testing double (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.2497917621721319e-01 -0x1.ffea2a288b10ep-4
should be: -1.2497917621721299e-01 -0x1.ffea2a288b0ffp-4
difference: 2.0816681711721685e-16 0x1.e000000000000p-53
ulp : 15.0000
max.ulp : 3.0000
Failure: Test: y1_upward (0x1.f7e5dcp+0)
Result:
is: -1.2497917621721281e-01 -0x1.ffea2a288b0f3p-4
should be: -1.2497917621721296e-01 -0x1.ffea2a288b0fep-4
difference: 1.5265566588595903e-16 0x1.6000000000000p-53
ulp : 11.0000
max.ulp : 7.0000
Test suite completed:
172 test cases plus 168 tests for exception flags and
168 tests for errno executed.
2 errors occurred.
testing float (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.24979288e-01 -0x1.ffea48p-4
should be: -1.24979184e-01 -0x1.ffea2cp-4
difference: 1.04308128e-07 0x1.c00000p-24
ulp : 14.0000
max.ulp : 2.0000
Test suite completed:
144 test cases plus 140 tests for exception flags and
140 tests for errno executed.
1 errors occurred.
testing _Float32 (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.24979288e-01 -0x1.ffea48p-4
should be: -1.24979184e-01 -0x1.ffea2cp-4
difference: 1.04308128e-07 0x1.c00000p-24
ulp : 14.0000
max.ulp : 2.0000
Test suite completed:
144 test cases plus 140 tests for exception flags and
140 tests for errno executed.
1 errors occurred.
testing _Float32x (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.2497917621721319e-01 -0x1.ffea2a288b10ep-4
should be: -1.2497917621721299e-01 -0x1.ffea2a288b0ffp-4
difference: 2.0816681711721685e-16 0x1.e000000000000p-53
ulp : 15.0000
max.ulp : 3.0000
Failure: Test: y1_upward (0x1.f7e5dcp+0)
Result:
is: -1.2497917621721281e-01 -0x1.ffea2a288b0f3p-4
should be: -1.2497917621721296e-01 -0x1.ffea2a288b0fep-4
difference: 1.5265566588595903e-16 0x1.6000000000000p-53
ulp : 11.0000
max.ulp : 7.0000
Test suite completed:
172 test cases plus 168 tests for exception flags and
168 tests for errno executed.
2 errors occurred.
testing _Float64 (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.2497917621721319e-01 -0x1.ffea2a288b10ep-4
should be: -1.2497917621721299e-01 -0x1.ffea2a288b0ffp-4
difference: 2.0816681711721685e-16 0x1.e000000000000p-53
ulp : 15.0000
max.ulp : 3.0000
Failure: Test: y1_upward (0x1.f7e5dcp+0)
Result:
is: -1.2497917621721281e-01 -0x1.ffea2a288b0f3p-4
should be: -1.2497917621721296e-01 -0x1.ffea2a288b0fep-4
difference: 1.5265566588595903e-16 0x1.6000000000000p-53
ulp : 11.0000
max.ulp : 7.0000
Test suite completed:
172 test cases plus 168 tests for exception flags and
168 tests for errno executed.
2 errors occurred.
testing _Float64x (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.24979176217212976465e-01 -0xf.ff515144587f5550p-7
should be: -1.24979176217212976384e-01 -0xf.ff515144587f5490p-7
difference: 8.13151629364128325505e-20 0xc.0000000000000000p-67
ulp : 12.0000
max.ulp : 7.0000
Test suite completed:
196 test cases plus 192 tests for exception flags and
192 tests for errno executed.
1 errors occurred.
testing long double (without inline functions)
Failure: Test: y1_downward (0x1.f7e5dcp+0)
Result:
is: -1.24979176217212976465e-01 -0xf.ff515144587f5550p-7
should be: -1.24979176217212976384e-01 -0xf.ff515144587f5490p-7
difference: 8.13151629364128325505e-20 0xc.0000000000000000p-67
ulp : 12.0000
max.ulp : 7.0000
Test suite completed:
196 test cases plus 192 tests for exception flags and
192 tests for errno executed.
1 errors occurred.
--
Cheers,
Carlos.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-math-Add-inputs-that-yield-larger-errors-for-float-t.patch
Type: text/x-patch
Size: 40292 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20200331/452a5da8/attachment-0001.bin>
More information about the Libc-alpha
mailing list