[PATCH 3/8] math: Remove asinhf fma usage

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 10 17:49:21 GMT 2025


The fma is not required to provide correctly rounded and it helps
on !__FP_FAST_FMA ISAs.

Checked on x86_64-linux-gnu and i686-linux-gnu.
---
 sysdeps/ieee754/flt-32/s_asinhf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sysdeps/ieee754/flt-32/s_asinhf.c b/sysdeps/ieee754/flt-32/s_asinhf.c
index 9353b421d4b..471a448992f 100644
--- a/sysdeps/ieee754/flt-32/s_asinhf.c
+++ b/sysdeps/ieee754/flt-32/s_asinhf.c
@@ -84,10 +84,10 @@ __asinhf (float x)
 	  const double ln2h = 0x1.62e4p-1;
 	  double Lh = ln2h * e;
 	  double Ll = ln2l * e;
-	  r = fma (z, c0, Ll + LIX[j]) + Lh;
+	  r = (z * c0 + (Ll + LIX[j])) + Lh;
 	  if (__glibc_unlikely ((asuint64 (r) & INT64_C(0xfffffff)) == 0))
 	    {
-	      double h = fma (z, c0, Ll + LIX[j]) + (Lh - r);
+	      double h = (z * c0 + (Ll + LIX[j])) + (Lh - r);
 	      r = r + 64 * h;
 	    }
 	}
-- 
2.43.0



More information about the Libc-alpha mailing list