Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Feb 2026 05:37:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 292988] [libm] powl(x,y) gives the wrong result on x86_64.
Message-ID:  <bug-292988-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

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: bugs@FreeBSD.org
          Reporter: kargl@FreeBSD.org

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.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-292988-227>