public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug math/18248] New: missing underflow  for subnormal inputs in sin/sinh/tan/tanh/atanh/expm1/log1p/exp2
@ 2015-04-10 13:11 nszabolcs at gmail dot com
  2015-04-10 16:43 ` [Bug math/18248] " jsm28 at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: nszabolcs at gmail dot com @ 2015-04-10 13:11 UTC (permalink / raw)
  To: glibc-bugs

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

            Bug ID: 18248
           Summary: missing underflow  for subnormal inputs in
                    sin/sinh/tan/tanh/atanh/expm1/log1p/exp2
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: nszabolcs at gmail dot com

Created attachment 8238
  --> https://sourceware.org/bugzilla/attachment.cgi?id=8238&action=edit
underflow tests

some functions don't raise the underflow flag for subnormal inputs (even though
the result is inexact subnormal)

attach code on x86_64 gives:

sin(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
sin(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
sinl(0x1p-16400L) = 0x0.0002p-16385 = 1.28254e-4937 did not underflow
sinl(-0x1p-16400L) = -0x0.0002p-16385 = -1.28254e-4937 did not underflow
sinh(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
sinh(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
sinhf(0x1p-130f) = 0x8p-133 = 7.34684e-40 did not underflow
sinhf(-0x1p-130f) = -0x8p-133 = -7.34684e-40 did not underflow
sinhl(0x1p-16400L) = 0x0.0002p-16385 = 1.28254e-4937 did not underflow
sinhl(-0x1p-16400L) = -0x0.0002p-16385 = -1.28254e-4937 did not underflow
tan(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
tan(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
tanf(0x1p-130f) = 0x8p-133 = 7.34684e-40 did not underflow
tanf(-0x1p-130f) = -0x8p-133 = -7.34684e-40 did not underflow
tanl(0x1p-16400L) = 0x0.0002p-16385 = 1.28254e-4937 did not underflow
tanl(-0x1p-16400L) = -0x0.0002p-16385 = -1.28254e-4937 did not underflow
tanh(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
tanh(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
tanhf(0x1p-130f) = 0x8p-133 = 7.34684e-40 did not underflow
tanhf(-0x1p-130f) = -0x8p-133 = -7.34684e-40 did not underflow
tanhl(0x1p-16400L) = 0x0.0002p-16385 = 1.28254e-4937 did not underflow
tanhl(-0x1p-16400L) = -0x0.0002p-16385 = -1.28254e-4937 did not underflow
atanh(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
atanh(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
atanhf(0x1p-130f) = 0x8p-133 = 7.34684e-40 did not underflow
atanhf(-0x1p-130f) = -0x8p-133 = -7.34684e-40 did not underflow
atanhl(0x1p-16400L) = 0x0.0002p-16385 = 1.28254e-4937 did not underflow
atanhl(-0x1p-16400L) = -0x0.0002p-16385 = -1.28254e-4937 did not underflow
expm1(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
expm1(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
expm1f(0x1p-130f) = 0x8p-133 = 7.34684e-40 did not underflow
expm1f(-0x1p-130f) = -0x8p-133 = -7.34684e-40 did not underflow
log1p(0x1p-1030) = 0x8p-1033 = 8.69169e-311 did not underflow
log1p(-0x1p-1030) = -0x8p-1033 = -8.69169e-311 did not underflow
log1pf(0x1p-130f) = 0x8p-133 = 7.34684e-40 did not underflow
log1pf(-0x1p-130f) = -0x8p-133 = -7.34684e-40 did not underflow
exp2l(-16382.5) = 0x5.a827999fcef3242p-16385 = 2.37737e-4932 did not underflow


on aarch64 it gives:

sin(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
sin(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
sinf(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
sinf(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
sinl(0x1p-16400L) = 0x0.00004p-16382 = 1.28254e-4937 did not underflow
sinl(-0x1p-16400L) = -0x0.00004p-16382 = -1.28254e-4937 did not underflow
sinh(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
sinh(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
sinhf(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
sinhf(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
sinhl(0x1p-16400L) = 0x0.00004p-16382 = 1.28254e-4937 did not underflow
sinhl(-0x1p-16400L) = -0x0.00004p-16382 = -1.28254e-4937 did not underflow
tan(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
tan(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
tanf(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
tanf(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
tanl(0x1p-16400L) = 0x0.00004p-16382 = 1.28254e-4937 did not underflow
tanl(-0x1p-16400L) = -0x0.00004p-16382 = -1.28254e-4937 did not underflow
tanh(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
tanh(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
tanhf(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
tanhf(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
tanhl(0x1p-16400L) = 0x0.00004p-16382 = 1.28254e-4937 did not underflow
tanhl(-0x1p-16400L) = -0x0.00004p-16382 = -1.28254e-4937 did not underflow
atanh(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
atanh(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
atanhf(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
atanhf(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
atanhl(0x1p-16400L) = 0x0.00004p-16382 = 1.28254e-4937 did not underflow
atanhl(-0x1p-16400L) = -0x0.00004p-16382 = -1.28254e-4937 did not underflow
expm1(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
expm1(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
expm1f(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
expm1f(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
log1p(0x1p-1030) = 0x1p-1030 = 8.69169e-311 did not underflow
log1p(-0x1p-1030) = -0x1p-1030 = -8.69169e-311 did not underflow
log1pf(0x1p-130f) = 0x1p-130 = 7.34684e-40 did not underflow
log1pf(-0x1p-130f) = -0x1p-130 = -7.34684e-40 did not underflow
log1pl(0x1p-16400L) = 0x0.00004p-16382 = 1.28254e-4937 did not underflow
log1pl(-0x1p-16400L) = -0x0.00004p-16382 = -1.28254e-4937 did not underflow

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug math/18248] missing underflow  for subnormal inputs in sin/sinh/tan/tanh/atanh/expm1/log1p/exp2
  2015-04-10 13:11 [Bug math/18248] New: missing underflow for subnormal inputs in sin/sinh/tan/tanh/atanh/expm1/log1p/exp2 nszabolcs at gmail dot com
@ 2015-04-10 16:43 ` jsm28 at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2015-04-10 16:43 UTC (permalink / raw)
  To: glibc-bugs

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

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #1 from Joseph Myers <jsm28 at gcc dot gnu.org> ---
Omnibus reports for lots of unrelated functions are unhelpful.  This is a
duplicate of 16538 (sin), 16519 (sinh), 16517 (tan), 16520 (tanh), 16352
(atanh), 16353 (expm1), 16339 (log1p), 16521 (exp2).

*** This bug has been marked as a duplicate of bug 16339 ***

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-10 16:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-10 13:11 [Bug math/18248] New: missing underflow for subnormal inputs in sin/sinh/tan/tanh/atanh/expm1/log1p/exp2 nszabolcs at gmail dot com
2015-04-10 16:43 ` [Bug math/18248] " jsm28 at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).