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/18594] New: cexp, ccos, ccosh, csin, csinh spurious underflows


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

            Bug ID: 18594
           Summary: cexp, ccos, ccosh, csin, csinh spurious underflows
           Product: glibc
           Version: 2.21
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: jsm28 at gcc dot gnu.org
  Target Milestone: ---

cexp, ccos, ccosh, csin and csinh have spurious underflows in cases where they
compute sin of the smallest normal, that produces an underflow exception
(depending on which sin implementation is in use) but the final result does not
underflow.  ctan may also have such underflows, or they may be latent (the
issue there is that e.g. ctan (DBL_MIN) should, rounded upwards, be the next
double value above DBL_MIN, which under glibc's accuracy goals may not have an
underflow exception, but the intermediate computation of sin (DBL_MIN) would
legitimately underflow on before-rounding architectures).

For example, for float on x86_64:

Failure: Real part of: ccos_downward (0x4p-128 + 0x1p+0 i): Exception
"Underflow" set
Failure: Real part of: ccosh_downward (0x1p+0 + 0x4p-128 i): Exception
"Underflow" set
Failure: Real part of: cexp_downward (0x1p+0 + 0x4p-128 i): Exception
"Underflow" set
Failure: Real part of: csin_downward (-0x4p-128 + 0x1p+0 i): Exception
"Underflow" set
Failure: Real part of: csinh_downward (0x1p+0 + 0x4p-128 i): Exception
"Underflow" set

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