https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292988

            Bug ID: 292988
           Summary: [libm] powl(x,y) gives the wrong result on x86_64.
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: [email protected]
          Reporter: [email protected]

The following code produces the wrong result.

/*
 * This code yields an NaN when the result should be zero.
 */
#include <math.h>
#include <stdio.h>

int
main(void)
{
   long double x = 0x1.98p-3072L;
   long double y = 0xa.ab43b6dba9a6383p+16364L;

   long double v;

   v = powl(x, y);
   printf("%.21Le\n%.21Le\n%.21Le\n", x, y, v);

   return 0;
}

The bug was originally identified by Paul Zimmermann, and I've
confirmed his finding.  I do not hack on libm functions, which
were imported from Cephus, so I cannot help with a patch.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to