This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Questions on new libm tests


I'd like to contribute some new libm tests. I am enclosing the new
double test result here. I have 3 questions:

1. The current way ulp computation doesn't support denormalized
numbers. Should we skip those tests?
2. I don't have patches for all those failures. Should I hold off those
tests?
3. What is maximum ulp allowed in libm-test-ulps?



H.J.
-----
testing double (without inline functions)
Failure: Test: atan2 (0X1.FFFFFFFFFFFFFP-1022, 0X1P+1) == 0X0.FFFFFFFFFFFFFP-1022
Result:
 is:          2.22507385850720138309e-308   0x1.00000000000000000000p-1022
 should be:   2.22507385850720088902e-308   0x0.fffffffffffff0000000p-1022
 difference:  4.94065645841246544177e-324   0x0.00000000000010000000p-1022
 ulp       :  inf
 max.ulp   :  0.0000
Maximal error of `atan2'
 is      : inf ulp
 accepted: 0 ulp
Failure: Test: acosh (0X1.01FB0B7471C13P+0) == 0X1.FD303BDCD51D2P-4
Result:
 is:          1.24313577497850602516e-01   0x1.fd303bdcd51d40000000p-4
 should be:   1.24313577497850574760e-01   0x1.fd303bdcd51d20000000p-4
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  2.0000
 max.ulp   :  0.0000
Maximal error of `acosh'
 is      : 2 ulp
 accepted: 0 ulp
Failure: Test: asinh (-0X1.0A1A86A1A87P-1) == -0X1.FEC35B3E7215AP-2
Result:
 is:         -4.98792100607280408653e-01  -0x1.fec35b3e7215c0000000p-2
 should be:  -4.98792100607280297631e-01  -0x1.fec35b3e7215a0000000p-2
 difference:  1.11022302462515654042e-16   0x1.00000000000000000000p-53
 ulp       :  2.0000
 max.ulp   :  0.0000
Maximal error of `asinh'
 is      : 2 ulp
 accepted: 0 ulp
Failure: Test: atanh (0X1.C56B0B96CDF91P-2) == 0X1.E71D3517D3E02P-2
Result:
 is:          4.75697354869197397420e-01   0x1.e71d3517d3e000000000p-2
 should be:   4.75697354869197508442e-01   0x1.e71d3517d3e020000000p-2
 difference:  1.11022302462515654042e-16   0x1.00000000000000000000p-53
 ulp       :  2.0000
 max.ulp   :  0.0000
Maximal error of `atanh'
 is      : 2 ulp
 accepted: 0 ulp
Failure: Test: tanh (-0X1.D95F582C6D0B6P-3) == -0X1.D11E67E06147DP-3
Result:
 is:         -2.27108775649103339367e-01  -0x1.d11e67e06147b0000000p-3
 should be:  -2.27108775649103394878e-01  -0x1.d11e67e06147d0000000p-3
 difference:  5.55111512312578270212e-17   0x1.00000000000000000000p-54
 ulp       :  2.0000
 max.ulp   :  0.0000
Maximal error of `tanh'
 is      : 2 ulp
 accepted: 0 ulp
Failure: Test: expm1 (0X1.672A28295E9C9P-2) == 0X1.AE35F07F55B87P-2
Result:
 is:          4.20127637645628215779e-01   0x1.ae35f07f55b880000000p-2
 should be:   4.20127637645628160268e-01   0x1.ae35f07f55b870000000p-2
 difference:  5.55111512312578270212e-17   0x1.00000000000000000000p-54
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: log1p (0X1.9800000000004P-2) == 0X1.5767717455A6FP-2
Result:
 is:          3.35355541921138033956e-01   0x1.5767717455a700000000p-2
 should be:   3.35355541921137978445e-01   0x1.5767717455a6f0000000p-2
 difference:  5.55111512312578270212e-17   0x1.00000000000000000000p-54
 ulp       :  1.0000
 max.ulp   :  0.0000
Maximal error of `log1p'
 is      : 1 ulp
 accepted: 0 ulp
Failure: Test: scalb (-0X1.5555555555556P-2, 1022) == -0X0.5555555555556P-1022
Result:
 is:         -1.49807761238526342276e+307  -0x1.55555555555560000000p+1020
 should be:  -7.41691286169067457074e-309  -0x0.55555555555560000000p-1022
 difference:  1.49807761238526342276e+307   0x1.55555555555560000000p+1020
 ulp       :  inf
 max.ulp   :  0.0000
Maximal error of `scalb'
 is      : inf ulp
 accepted: 0 ulp
Failure: Test: scalbln (-0X1.5555555555556P-2, 4294966274) == -0X0.5555555555556P-1022
Result:
 is:         -inf  -inf
 should be:  -7.41691286169067457074e-309  -0x0.55555555555560000000p-1022
Failure: Test: cbrt (-0X1.7B95A68B6D5B2P-101) == -0X1.6FCB97ED7355EP-34
Result:
 is:         -8.36269662114097413030e-11  -0x1.6fcb97ed7355b0000000p-34
 should be:  -8.36269662114097800771e-11  -0x1.6fcb97ed7355e0000000p-34
 difference:  3.87740912134231722596e-26   0x1.80000000000000000000p-85
 ulp       :  3.0000
 max.ulp   :  0.0000
Maximal error of `cbrt'
 is      : 3 ulp
 accepted: 1 ulp
Failure: Test: erf (0X1.B1C23A062D3A9P-13) == 0X1.E971BBC2C41E9P-13
Result:
 is:          2.33385215402850303493e-04   0x1.e971bbc2c41e80000000p-13
 should be:   2.33385215402850330598e-04   0x1.e971bbc2c41e90000000p-13
 difference:  2.71050543121376108502e-20   0x1.00000000000000000000p-65
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: erfc (0X1.3FFFFFFFFFF0CP+0) == 0X1.3BCD133AA1397P-4
Result:
 is:          7.70998717435546349064e-02   0x1.3bcd133aa139b0000000p-4
 should be:   7.70998717435545793952e-02   0x1.3bcd133aa13970000000p-4
 difference:  5.55111512312578270212e-17   0x1.00000000000000000000p-54
 ulp       :  4.0000
 max.ulp   :  0.0000
Maximal error of `erfc'
 is      : 4 ulp
 accepted: 1 ulp
Failure: Test: gamma (-0X1.FA471547C2FE5P+1) == -0X1.DDC0336980B58P-52
Result:
 is:         -4.44089209850062616169e-16  -0x1.00000000000000000000p-51
 should be:  -4.14382750757704980224e-16  -0x1.ddc0336980b580000000p-52
 difference:  2.97064590923576359454e-17   0x1.11fe64b3fa5400000000p-55
 ulp       :  602518571185320.0000
 max.ulp   :  0.0000
Maximal error of `gamma'
 is      : 602518571185320 ulp
 accepted: 0 ulp
Failure: Test: lgamma (-0X1.FA471547C2FE5P+1) == -0X1.DDC0336980B58P-52
Result:
 is:         -4.44089209850062616169e-16  -0x1.00000000000000000000p-51
 should be:  -4.14382750757704980224e-16  -0x1.ddc0336980b580000000p-52
 difference:  2.97064590923576359454e-17   0x1.11fe64b3fa5400000000p-55
 ulp       :  602518571185320.0000
 max.ulp   :  0.0000
Failure: Test: lgamma (-0X1.FA471547C2FE5P+1) == -0X1.DDC0336980B58P-52
Result:
 is:         -4.44089209850062616169e-16  -0x1.00000000000000000000p-51
 should be:  -4.14382750757704980224e-16  -0x1.ddc0336980b580000000p-52
 difference:  2.97064590923576359454e-17   0x1.11fe64b3fa5400000000p-55
 ulp       :  602518571185320.0000
 max.ulp   :  0.0000
Maximal error of `lgamma'
 is      : 602518571185320 ulp
 accepted: 1 ulp
Failure: Test: tgamma (-0X1.5800000080001P+7) == -0X1.B98C532C7745AP-1009
Result:
 is:         -3.14392714488304993290e-304  -0x1.b98c532c77b0b0000000p-1009
 should be:  -3.14392714488235661572e-304  -0x1.b98c532c7745a0000000p-1009
 difference:  6.93317182526304526479e-317   0x0.0000000d620000000000p-1022
 ulp       :  1713.0000
 max.ulp   :  0.0000
Maximal error of `tgamma'
 is      : 1713 ulp
 accepted: 1 ulp
Failure: Test: lround (0X1.FFFFFFFFFFFFBP+53) == 18014398509481974
Result:
 is:         18014394214514678
 should be:  18014398509481974
Failure: Test: nexttoward (-0X1P+0, -0X8.00346DC5D6388P-3) == -0X1.0000000000001P+0
Result:
 is:         -9.99999999999999888978e-01  -0x1.fffffffffffff0000000p-1
 should be:  -1.00000000000000022204e+00  -0x1.00000000000010000000p+0
 difference:  3.33066907387546962127e-16   0x1.80000000000000000000p-52
 ulp       :  1.5000
 max.ulp   :  0.0000
Maximal error of `nexttoward'
 is      : 2 ulp
 accepted: 0 ulp
Failure: Test: j0 (-0X1.001000001P+593) == 0X1.FFFFD6F053A8BP-298
Result:
 is:          0.00000000000000000000e+00   0x0.00000000000000000000p+0
 should be:   3.92726996635420636080e-90   0x1.ffffd6f053a8b0000000p-298
 difference:  3.92726996635420636080e-90   0x1.ffffd6f053a8b0000000p-298
 ulp       :  9007188232452747.0000
 max.ulp   :  0.0000
Maximal error of `j0'
 is      : 9007188232452747 ulp
 accepted: 2 ulp
Failure: Test: j1 (0X1.FF00000000002P+840) == 0X1.FFFFB6BCBBC66P-422
Result:
 is:          0.00000000000000000000e+00   0x0.00000000000000000000p+0
 should be:   1.84659169169933146950e-127   0x1.ffffb6bcbbc660000000p-422
 difference:  1.84659169169933146950e-127   0x1.ffffb6bcbbc660000000p-422
 ulp       :  9007179588418662.0000
 max.ulp   :  0.0000
Maximal error of `j1'
 is      : 9007179588418662 ulp
 accepted: 1 ulp
Failure: Test: jn (16381, -0X1.2947602EE574P+17) == 0X1.82C6C5A295941P+903
Result:
 is:          2.04613189330115621475e-03   0x1.0c30cb214bbf30000000p-9
 should be:   1.02165942491467882820e+272   0x1.82c6c5a2959410000000p+903
 difference:  1.02165942491467882820e+272   0x1.82c6c5a2959410000000p+903
 ulp       :  6804243321805121.0000
 max.ulp   :  0.0000
Maximal error of `jn'
 is      : 6804243321805121 ulp
 accepted: 4 ulp
Failure: Test: y0 (0X1.FF00000000002P+840) == 0X1.FFFFB6BCBBC66P-422
Result:
 is:          0.00000000000000000000e+00   0x0.00000000000000000000p+0
 should be:   1.84659169169933146950e-127   0x1.ffffb6bcbbc660000000p-422
 difference:  1.84659169169933146950e-127   0x1.ffffb6bcbbc660000000p-422
 ulp       :  9007179588418662.0000
 max.ulp   :  0.0000
Maximal error of `y0'
 is      : 9007179588418662 ulp
 accepted: 2 ulp
Failure: Test: y1 (0X1.001000001P+593) == 0X1.FFFFD6F053A8BP-298
Result:
 is:          0.00000000000000000000e+00   0x0.00000000000000000000p+0
 should be:   3.92726996635420636080e-90   0x1.ffffd6f053a8b0000000p-298
 difference:  3.92726996635420636080e-90   0x1.ffffd6f053a8b0000000p-298
 ulp       :  9007188232452747.0000
 max.ulp   :  0.0000
Maximal error of `y1'
 is      : 9007188232452747 ulp
 accepted: 3 ulp
Failure: Test: yn (2, 0X1.B12ED58FD5169P+1) == -0X1.6541FD948522FP-58
Result:
 is:          2.77555756156289135106e-17   0x1.00000000000000000000p-55
 should be:  -4.84174570521208065845e-18  -0x1.6541fd948522f0000000p-58
 difference:  3.25973213208409949394e-17   0x1.2ca83fb290a460000000p-55
 ulp       :  42313742272713264.0000
 max.ulp   :  0.0000
Maximal error of `yn'
 is      : 42313742272713264 ulp
 accepted: 3 ulp

Test suite completed:
  2874 test cases plus 2561 tests for exception flags executed.
  43 errors occurred.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]