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/10357] New: casinh(x) loses precision near x=0


The `casinh(x)` implementation in glibc-2_10-branch loses precision for small x.

The following assertion should pass:

    assert(casinh(1e-20) == 9.9999999999999995e-21);

However, with Glibc 2.9 it does not: `casinh(1e-20) == 0` with it. In Glibc
sources (math/s_asinh.c), casinh is computed from y=log(x + sqrt(1 + x*x)). In
finite precision, this yields y=0 for |x| < floating-point epsilon.

-- 
           Summary: casinh(x) loses precision near x=0
           Product: glibc
           Version: 2.10
            Status: NEW
          Severity: minor
          Priority: P2
         Component: math
        AssignedTo: aj at suse dot de
        ReportedBy: pav at iki dot fi
                CC: glibc-bugs at sources dot redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=10357

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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