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/16293] New: x86 / x86_64 expm1 inaccurate near 0 in directed rounding modes


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

            Bug ID: 16293
           Summary: x86 / x86_64 expm1 inaccurate near 0 in directed
                    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

The x86 versions of expm1f / expm1 / expm1l, and the x86_64 expm1l, are
inaccurate near 0 in round-upward / round-downward modes because of the use of
frndint to produce an integer part of an exponent in the expectation there is
no large cancellation with the fractional part, in cases where you get an
integer part of 1 and a fractional part close to -1, so losing precision from
the original argument, for small positive arguments in round-upward mode (and
similarly for small negative arguments in round-downward).  Examples include
expm1l (0x8p-32) (resulting in large errors from sinhl (0x8p-32), as shown when
existing sinh tests are run in directed rounding modes), expm1 (0x8p-32) and
exp1mf (0x1p-64).

-- 
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]