[Bug math/33563] New: powf() fails for 0x1p+8192 ^ 1.0
siddhesh at sourceware dot org
sourceware-bugzilla@sourceware.org
Tue Oct 21 16:42:20 GMT 2025
https://sourceware.org/bugzilla/show_bug.cgi?id=33563
Bug ID: 33563
Summary: powf() fails for 0x1p+8192 ^ 1.0
Product: glibc
Version: 2.41
Status: NEW
Severity: normal
Priority: P2
Component: math
Assignee: unassigned at sourceware dot org
Reporter: siddhesh at sourceware dot org
CC: adhemerval.zanella at linaro dot org,
siddhesh at sourceware dot org, tydeman.fred at gmail dot com,
unassigned at sourceware dot org, zimmerma+gcc at loria dot fr
Depends on: 33411
Target Milestone: ---
+++ This bug was initially created as a clone of Bug #33411 +++
Adding this input to auto-libm-test-in results in the test failing for 32-bit
float and _Float32. It looks like the code in sysdeps/ieee754/flt-32/e_powf.c
tries to do a exp2(y*ln(x)), which incorrectly rounds the result to inf. Maybe
the logic should just special-case 1.0 and return y untouched.
Leaving this as an exercise for someone else to try out.
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=33411
[Bug 33411] powl() raises spurious overflow
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list