This is the mail archive of the glibc-bugs@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]

[Bug math/16271] New: dbl-64 e_sqrt.c not correctly rounding in non-default rounding modes


https://sourceware.org/bugzilla/show_bug.cgi?id=16271

            Bug ID: 16271
           Summary: dbl-64 e_sqrt.c not correctly rounding in non-default
                    rounding modes
           Product: glibc
           Version: 2.19
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: jsm28 at gcc dot gnu.org

sysdeps/ieee754/dbl-64/e_sqrt.c does not produce correct results for all inputs
in rounding modes other than round-to-nearest, as illustrated by (on ARM):

Failure: Test: sqrt_towardzero (0xf.fffffp+124)
Result:
 is:          1.84467435239537295360e+19   0x1.fffffeffffffc0000000p+63
 should be:   1.84467435239537274880e+19   0x1.fffffeffffffb0000000p+63
 difference:  2.04800000000000000000e+03   0x1.00000000000000000000p+11
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: sqrt_towardzero (0xf.fffffp-4)
Result:
 is:          9.99999970197677168215e-01   0x1.fffffeffffffc0000000p-1
 should be:   9.99999970197677057193e-01   0x1.fffffeffffffb0000000p-1
 difference:  1.11022302462515654042e-16   0x1.00000000000000000000p-53
 ulp       :  1.0000
 max.ulp   :  0.0000
Maximal error of `sqrt_towardzero'
 is      : 1 ulp
 accepted: 0 ulp
Failure: Test: sqrt_downward (0xf.fffffp+124)
Result:
 is:          1.84467435239537295360e+19   0x1.fffffeffffffc0000000p+63
 should be:   1.84467435239537274880e+19   0x1.fffffeffffffb0000000p+63
 difference:  2.04800000000000000000e+03   0x1.00000000000000000000p+11
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: sqrt_downward (0xf.fffffp-4)
Result:
 is:          9.99999970197677168215e-01   0x1.fffffeffffffc0000000p-1
 should be:   9.99999970197677057193e-01   0x1.fffffeffffffb0000000p-1
 difference:  1.11022302462515654042e-16   0x1.00000000000000000000p-53
 ulp       :  1.0000
 max.ulp   :  0.0000
Maximal error of `sqrt_downward'
 is      : 1 ulp
 accepted: 0 ulp
Failure: Test: sqrt_upward (0x1.000002p+0)
Result:
 is:          1.00000005960464299904e+00   0x1.000000ffffff80000000p+0
 should be:   1.00000005960464322108e+00   0x1.000000ffffff90000000p+0
 difference:  2.22044604925031308085e-16   0x1.00000000000000000000p-52
 ulp       :  1.0000
 max.ulp   :  0.0000
Maximal error of `sqrt_upward'
 is      : 1 ulp
 accepted: 0 ulp

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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