https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63488

            Bug ID: 63488
           Summary: large errors in y0q
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libquadmath
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zimmerma+gcc at loria dot fr

For the input aa below (with 36 digits, we can recover the exact 113-bit binary
value by rounding to nearest) mpfr_y0 gets the result cc (more precisely, the
corresponding 113-bit binary value) which should be correctly rounded, and y0q
gets the result dd which differs from 180688 ulps.

aa=8.935761195587725798762818805462843676e-01
cc=-7.446238819993339201075302662649733975e-07 [MPFR]
dd=-7.446238819993339201075302662815669696e-07
ulp difference = 180688.000000

For other functions and one million random inputs per function, I got much
smaller differences (at most 42 ulps).

The compiler was gcc 4.6.3. 

Paul Zimmermann

Reply via email to