This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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

Ulps file for i686-linux-gnu with GCC 4.0


With GCC 4.0 CVS I get a number of changes in the math suite, all of
them are in j0/j1/jn/y0/y1/yn:

testing double (without inline functions)
Failure: Test: j0 (2.0) == 0.223890779141235668051827454649948626
Result:
 is:          2.23890779141235646277e-01   0x1.ca873fb24cef70000000p-3
 should be:   2.23890779141235674032e-01   0x1.ca873fb24cef80000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: j0 (10.0) == -0.245935764451348335197760862485328754
Result:
 is:         -2.45935764451348265469e-01  -0x1.f7ad2b89e1e510000000p-3
 should be:  -2.45935764451348348736e-01  -0x1.f7ad2b89e1e540000000p-3
 difference:  8.32667268468867405318e-17   0x1.80000000000000000000p-54
 ulp       :  3.0000
 max.ulp   :  1.0000
Maximal error of `j0'
 is      : 3 ulp
 accepted: 1 ulp
Failure: Test: j1 (8.0) == 0.234636346853914624381276651590454612
Result:
 is:          2.34636346853914601329e-01   0x1.e0890561861820000000p-3
 should be:   2.34636346853914629085e-01   0x1.e0890561861830000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: jn (0, 2.0) == 0.223890779141235668051827454649948626
Result:
 is:          2.23890779141235646277e-01   0x1.ca873fb24cef70000000p-3
 should be:   2.23890779141235674032e-01   0x1.ca873fb24cef80000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: jn (0, 10.0) == -0.245935764451348335197760862485328754
Result:
 is:         -2.45935764451348265469e-01  -0x1.f7ad2b89e1e510000000p-3
 should be:  -2.45935764451348348736e-01  -0x1.f7ad2b89e1e540000000p-3
 difference:  8.32667268468867405318e-17   0x1.80000000000000000000p-54
 ulp       :  3.0000
 max.ulp   :  1.0000
Failure: Test: jn (1, 8.0) == 0.234636346853914624381276651590454612
Result:
 is:          2.34636346853914601329e-01   0x1.e0890561861820000000p-3
 should be:   2.34636346853914629085e-01   0x1.e0890561861830000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: jn (3, 10.0) == 0.0583793793051868123429354784103409563
Result:
 is:          5.83793793051867807020e-02   0x1.de3e6e9c0cc010000000p-5
 should be:   5.83793793051868153965e-02   0x1.de3e6e9c0cc060000000p-5
 difference:  3.46944695195361418882e-17   0x1.40000000000000000000p-55
 ulp       :  5.0000
 max.ulp   :  1.0000
Failure: Test: jn (10, 10.0) == 0.207486106633358857697278723518753428
Result:
 is:          2.07486106633358730056e-01   0x1.a8ee79d2eacab0000000p-3
 should be:   2.07486106633358868834e-01   0x1.a8ee79d2eacb00000000p-3
 difference:  1.38777878078144567553e-16   0x1.40000000000000000000p-53
 ulp       :  5.0000
 max.ulp   :  2.0000
Maximal error of `jn'
 is      : 5 ulp
 accepted: 2 ulp
Failure: Test: y0 (8.0) == 0.223521489387566220527323400498620359
Result:
 is:          2.23521489387566191231e-01   0x1.c9c5a276fb82b0000000p-3
 should be:   2.23521489387566218987e-01   0x1.c9c5a276fb82c0000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: y0 (10.0) == 0.0556711672835993914244598774101900481
Result:
 is:          5.56711672835993875985e-02   0x1.c80ee65a05c580000000p-5
 should be:   5.56711672835993945374e-02   0x1.c80ee65a05c590000000p-5
 difference:  6.93889390390722837765e-18   0x1.00000000000000000000p-57
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: y1 (8.0) == -0.158060461731247494255555266187483550
Result:
 is:         -1.58060461731247464678e-01  -0x1.43b5340f693350000000p-3
 should be:  -1.58060461731247492434e-01  -0x1.43b5340f693360000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: yn (0, 8.0) == 0.223521489387566220527323400498620359
Result:
 is:          2.23521489387566191231e-01   0x1.c9c5a276fb82b0000000p-3
 should be:   2.23521489387566218987e-01   0x1.c9c5a276fb82c0000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: yn (0, 10.0) == 0.0556711672835993914244598774101900481
Result:
 is:          5.56711672835993875985e-02   0x1.c80ee65a05c580000000p-5
 should be:   5.56711672835993945374e-02   0x1.c80ee65a05c590000000p-5
 difference:  6.93889390390722837765e-18   0x1.00000000000000000000p-57
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: yn (1, 8.0) == -0.158060461731247494255555266187483550
Result:
 is:         -1.58060461731247464678e-01  -0x1.43b5340f693350000000p-3
 should be:  -1.58060461731247492434e-01  -0x1.43b5340f693360000000p-3
 difference:  2.77555756156289135106e-17   0x1.00000000000000000000p-55
 ulp       :  1.0000
 max.ulp   :  0.0000

testing float (without inline functions)
Failure: Test: j0 (4.0) == -3.9714980986384737228659076845169804197562E-1
Result:
 is:         -3.97149860858917236328e-01  -0x1.96ae7400000000000000p-2
 should be:  -3.97149801254272460938e-01  -0x1.96ae7000000000000000p-2
 difference:  5.96046447753906250000e-08   0x1.00000000000000000000p-24
 ulp       :  2.0000
 max.ulp   :  1.0000
Failure: Test: j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1
Result:
 is:         -3.97149860858917236328e-01  -0x1.96ae7400000000000000p-2
 should be:  -3.97149801254272460938e-01  -0x1.96ae7000000000000000p-2
 difference:  5.96046447753906250000e-08   0x1.00000000000000000000p-24
 ulp       :  2.0000
 max.ulp   :  1.0000
Maximal error of `j0'
 is      : 2 ulp
 accepted: 1 ulp
Failure: Test: jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1
Result:
 is:         -3.97149860858917236328e-01  -0x1.96ae7400000000000000p-2
 should be:  -3.97149801254272460938e-01  -0x1.96ae7000000000000000p-2
 difference:  5.96046447753906250000e-08   0x1.00000000000000000000p-24
 ulp       :  2.0000
 max.ulp   :  1.0000
Failure: Test: jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1
Result:
 is:         -3.97149860858917236328e-01  -0x1.96ae7400000000000000p-2
 should be:  -3.97149801254272460938e-01  -0x1.96ae7000000000000000p-2
 difference:  5.96046447753906250000e-08   0x1.00000000000000000000p-24
 ulp       :  2.0000
 max.ulp   :  1.0000


I'm appending a diff to incorporate these and sort the file again.  Ok
to commit?

Andreas

2005-03-27  Andreas Jaeger  <aj@suse.de>

	* sysdeps/i386/fpu/libm-test-ulps: Add ulps for GCC 4.0.

Index: sysdeps/i386/fpu/libm-test-ulps
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/i386/fpu/libm-test-ulps,v
retrieving revision 1.41
diff -u -p -r1.41 libm-test-ulps
--- sysdeps/i386/fpu/libm-test-ulps	1 Jul 2004 01:43:14 -0000	1.41
+++ sysdeps/i386/fpu/libm-test-ulps	27 Mar 2005 14:48:01 -0000
@@ -7,20 +7,20 @@ ldouble: 1
 
 # asin
 Test "asin (-0.5) == -pi/6":
-ldouble: 1
 ildouble: 1
-Test "asin (-1.0) == -pi/2":
 ldouble: 1
+Test "asin (-1.0) == -pi/2":
 ildouble: 1
-Test "asin (0.5) == pi/6":
 ldouble: 1
+Test "asin (0.5) == pi/6":
 ildouble: 1
-Test "asin (0.75) == 0.848062078981481008052944338998418080":
 ldouble: 1
+Test "asin (0.75) == 0.848062078981481008052944338998418080":
 ildouble: 1
-Test "asin (1.0) == pi/2":
 ldouble: 1
+Test "asin (1.0) == pi/2":
 ildouble: 1
+ldouble: 1
 
 # atanh
 Test "atanh (0.75) == 0.972955074527656652552676371721589865":
@@ -44,11 +44,11 @@ ildouble: 6
 ldouble: 6
 Test "Imaginary part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
 double: 1
+float: 4
 idouble: 1
+ifloat: 4
 ildouble: 1
 ldouble: 1
-ifloat: 4
-float: 4
 Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i":
 ildouble: 1
 ldouble: 1
@@ -473,24 +473,26 @@ float: 1
 # j0
 Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "j0 (10.0) == -0.245935764451348335197760862485328754":
-double: 1
+double: 3
 float: 1
-idouble: 1
+idouble: 3
 ifloat: 1
 Test "j0 (2.0) == 0.223890779141235668051827454649948626":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "j0 (8.0) == 0.171650807137553906090869407851972001":
@@ -498,22 +500,21 @@ float: 1
 ifloat: 1
 
 # j1
+Test "j1 (0.75) == 0.349243602174862192523281016426251335":
+double: 1
+idouble: 1
 Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
 float: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "j1 (0.75) == 0.349243602174862192523281016426251335":
-double: 1
-idouble: 1
 Test "j1 (2.0) == 0.576724807756873387202448242269137087":
 double: 1
 idouble: 1
-Test "j1 (0.75) == 0.349243602174862192523281016426251335":
-double: 1
-idouble: 1
 Test "j1 (8.0) == 0.234636346853914624381276651590454612":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
@@ -521,24 +522,26 @@ ldouble: 1
 # jn
 Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
-double: 1
+double: 3
 float: 1
-idouble: 1
+idouble: 3
 ifloat: 1
 Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
@@ -556,22 +559,24 @@ Test "jn (1, 2.0) == 0.57672480775687338
 double: 1
 idouble: 1
 Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "jn (10, -1.0) == 0.263061512368745320699785368779050294e-9":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-ifloat: 1
-float: 1
 Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
-float: 1
-ifloat: 1
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
 float: 1
 ifloat: 1
@@ -579,46 +584,46 @@ ildouble: 2
 ldouble: 2
 Test "jn (10, 1.0) == 0.263061512368745320699785368779050294e-9":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
-ifloat: 1
-float: 1
 Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
-double: 2
+double: 5
 float: 2
-idouble: 2
+idouble: 5
 ifloat: 2
 ildouble: 2
 ldouble: 2
 Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
-idouble: 2
-double: 2
 Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
 ildouble: 1
 ldouble: 1
 Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
-float: 1
-ifloat: 1
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 Test "jn (3, 1.0) == 0.0195633539826684059189053216217515083":
 ildouble: 1
 ldouble: 1
 Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
-double: 1
+double: 5
 float: 2
-idouble: 1
+idouble: 5
 ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
-ildouble: 1
-ldouble: 1
 double: 1
 idouble: 1
+ildouble: 1
+ldouble: 1
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -627,10 +632,10 @@ idouble: 1
 ildouble: 1
 ldouble: 1
 Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
-float: 1
-ifloat: 1
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
 double: 1
 float: 2
@@ -714,32 +719,39 @@ float: 1
 idouble: 1
 ifloat: 1
 Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
 ildouble: 1
 ldouble: 1
-ifloat: 1
+Test "y0 (1.5) == 0.382448923797758843955068554978089862":
+double: 1
 float: 1
-double: 2
-idouble: 2
+idouble: 1
+ifloat: 1
 Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "y0 (8.0) == 0.223521489387566220527323400498620359":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
-Test "y0 (1.5) == 0.382448923797758843955068554978089862":
-float: 1
-ifloat: 1
-double: 1
-idouble: 1
 
 # y1
 Test "y1 (0.125) == -5.19993611253477499595928744876579921":
 ildouble: 1
 ldouble: 1
+Test "y1 (1.0) == -0.781212821300288716547150000047964821":
+double: 1
+idouble: 1
 Test "y1 (10.0) == 0.249015424206953883923283474663222803":
 double: 2
 float: 2
@@ -753,13 +765,12 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "y1 (8.0) == -0.158060461731247494255555266187483550":
+double: 1
 float: 2
+idouble: 1
 ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "y1 (1.0) == -0.781212821300288716547150000047964821":
-double: 1
-idouble: 1
 
 # yn
 Test "yn (0, 0.125) == -1.38968062514384052915582277745018693":
@@ -771,24 +782,28 @@ float: 1
 idouble: 1
 ifloat: 1
 Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
-ildouble: 1
-ldouble: 1
-ifloat: 1
-float: 1
 double: 2
+float: 1
 idouble: 2
-Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
 ifloat: 1
-float: 1
+ildouble: 1
+ldouble: 1
+Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
@@ -796,8 +811,8 @@ Test "yn (1, 0.125) == -5.19993611253477
 ildouble: 1
 ldouble: 1
 Test "yn (1, 1.0) == -0.781212821300288716547150000047964821":
-idouble: 1
 double: 1
+idouble: 1
 Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
 double: 2
 float: 2
@@ -811,13 +826,12 @@ ifloat: 2
 ildouble: 1
 ldouble: 1
 Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
+double: 1
 float: 2
+idouble: 1
 ifloat: 2
 ildouble: 1
 ldouble: 1
-Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
-ifloat: 1
-float: 1
 Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
 double: 1
 float: 1
@@ -841,10 +855,10 @@ float: 3
 idouble: 1
 ifloat: 3
 Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
-float: 3
-ifloat: 3
 double: 2
+float: 3
 idouble: 2
+ifloat: 3
 Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
 ildouble: 1
 ldouble: 1
@@ -855,12 +869,12 @@ idouble: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
-Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
-float: 1
-ifloat: 1
+Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
 double: 1
+float: 1
 idouble: 1
-Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
+ifloat: 1
+Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
 double: 1
 float: 1
 idouble: 1
@@ -872,8 +886,8 @@ ildouble: 622
 ldouble: 622
 
 Function: "asin":
-ldouble: 1
 ildouble: 1
+ldouble: 1
 
 Function: "atanh":
 ildouble: 2
@@ -895,11 +909,11 @@ ldouble: 6
 
 Function: Imaginary part of "cacosh":
 double: 1
+float: 4
 idouble: 1
+ifloat: 4
 ildouble: 1
 ldouble: 1
-ifloat: 4
-float: 4
 
 Function: Real part of "casin":
 double: 1
@@ -1115,10 +1129,10 @@ Function: "hypot":
 float: 1
 
 Function: "j0":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
 ildouble: 1
 ldouble: 1
 
@@ -1131,9 +1145,9 @@ ildouble: 1
 ldouble: 1
 
 Function: "jn":
-double: 2
+double: 5
 float: 2
-idouble: 2
+idouble: 5
 ifloat: 2
 ildouble: 2
 ldouble: 2

-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SUSE Linux Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


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