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/21094] New: cosf(1.57079697) has 3 ulp error on targets where the generic c code is used


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

            Bug ID: 21094
           Summary: cosf(1.57079697) has 3 ulp error on targets where the
                    generic c code is used
           Product: glibc
           Version: 2.24
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: math
          Assignee: unassigned at sourceware dot org
          Reporter: nszabolcs at gmail dot com
  Target Milestone: ---

at x=1.57079697, that is 0x3fc90fe0,
cosf(x) returns -0x1.5777ap-21 instead of -0x1.5777a6p-21

because in sysdeps/ieee754/flt-32/e_rem_pio2f.c

  if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */
    ...
  } else { /* near pi/2, use 24+24+24 bit pi */
    ...
  }

the "near pi/2" special case is not applied.

other than at +-1.57079697, cosf seems to have <= 1 ulp
error compared to cos.

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