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.