[PATCH v2 08/10] math: Remove the error handling wrapper from atanhf
Adhemerval Zanella
adhemerval.zanella@linaro.org
Thu Jan 30 16:29:04 GMT 2025
It improves latency for about 1-10% and throughput for about 5-10%.
---
math/Versions | 1 +
math/w_atanhf.c | 8 ++++++++
math/w_atanhf_compat.c | 11 ++++++++---
sysdeps/ieee754/flt-32/e_atanhf.c | 11 ++++++++++-
sysdeps/ieee754/flt-32/w_atanhf.c | 1 +
sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c | 8 ++++++++
sysdeps/mach/hurd/i386/libm.abilist | 1 +
sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 +
sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 +
sysdeps/unix/sysv/linux/arm/be/libm.abilist | 1 +
sysdeps/unix/sysv/linux/arm/le/libm.abilist | 1 +
sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 +
sysdeps/unix/sysv/linux/i386/libm.abilist | 1 +
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 +
sysdeps/unix/sysv/linux/microblaze/be/libm.abilist | 1 +
sysdeps/unix/sysv/linux/microblaze/le/libm.abilist | 1 +
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 +
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 +
.../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 +
.../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 +
.../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 +
.../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 +
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 +
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 +
sysdeps/unix/sysv/linux/sh/be/libm.abilist | 1 +
sysdeps/unix/sysv/linux/sh/le/libm.abilist | 1 +
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 +
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 +
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 +
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 +
30 files changed, 60 insertions(+), 4 deletions(-)
create mode 100644 math/w_atanhf.c
create mode 100644 sysdeps/ieee754/flt-32/w_atanhf.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c
diff --git a/math/Versions b/math/Versions
index 27d4e94613..7f84a72b32 100644
--- a/math/Versions
+++ b/math/Versions
@@ -679,5 +679,6 @@ libm {
asinf;
acoshf;
atan2f;
+ atanhf;
}
}
diff --git a/math/w_atanhf.c b/math/w_atanhf.c
new file mode 100644
index 0000000000..7b3b671f3c
--- /dev/null
+++ b/math/w_atanhf.c
@@ -0,0 +1,8 @@
+#include <math-type-macros-float.h>
+#undef __USE_WRAPPER_TEMPLATE
+#define __USE_WRAPPER_TEMPLATE 1
+#undef declare_mgen_alias
+#define declare_mgen_alias(a, b)
+#include <w_atanh_template.c>
+versioned_symbol (libm, __atanhf, atanhf, GLIBC_2_42);
+libm_alias_float_other (__atanhf, atanhf)
diff --git a/math/w_atanhf_compat.c b/math/w_atanhf_compat.c
index b86686cd76..2a8270e295 100644
--- a/math/w_atanhf_compat.c
+++ b/math/w_atanhf_compat.c
@@ -21,10 +21,10 @@
#include <libm-alias-float.h>
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_42)
/* wrapper atanhf */
float
-__atanhf (float x)
+__atanh_compatf (float x)
{
if (__builtin_expect (isgreaterequal (fabsf (x), 1.0f), 0)
&& _LIB_VERSION != _IEEE_)
@@ -35,5 +35,10 @@ __atanhf (float x)
return __ieee754_atanhf (x);
}
-libm_alias_float (__atanh, atanh)
+# ifdef NO_COMPAT_NEEDED
+strong_alias (__atanh_compatf, __atanhf)
+libm_alias_float (__atanh_compat, atanh)
+# else
+compat_symbol (libm, __atanh_compatf, atanhf, GLIBC_2_0);
+# endif
#endif
diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c
index 5138408324..5412835cec 100644
--- a/sysdeps/ieee754/flt-32/e_atanhf.c
+++ b/sysdeps/ieee754/flt-32/e_atanhf.c
@@ -27,6 +27,8 @@ SOFTWARE.
#include <math.h>
#include <stdint.h>
#include <libm-alias-finite.h>
+#include <libm-alias-float.h>
+#include <math-svid-compat.h>
#include "math_config.h"
static __attribute__((noinline)) float
@@ -42,7 +44,7 @@ as_special (float x)
}
float
-__ieee754_atanhf (float x)
+__atanhf (float x)
{
/* Calculate atanh(x) using the difference of two logarithms -- atanh(x) =
(ln(1+x) - ln(1-x))/2 */
@@ -175,4 +177,11 @@ __ieee754_atanhf (float x)
}
return ub;
}
+strong_alias (__atanhf, __ieee754_atanhf)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __atanhf, atanhf, GLIBC_2_42);
+libm_alias_float_other (__atanh, atanh)
+#else
+libm_alias_float (__atanh, atanh)
+#endif
libm_alias_finite (__ieee754_atanhf, __atanhf)
diff --git a/sysdeps/ieee754/flt-32/w_atanhf.c b/sysdeps/ieee754/flt-32/w_atanhf.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_atanhf.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c b/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c
new file mode 100644
index 0000000000..1ec8434684
--- /dev/null
+++ b/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c
@@ -0,0 +1,8 @@
+/* m68k provides an optimized __ieee754_atanhf. */
+#ifdef SHARED
+# define NO_COMPAT_NEEDED 1
+# include <math/w_atanhf_compat.c>
+#else
+# include <math-type-macros-float.h>
+# include <w_atanh_template.c>
+#endif
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 8eceffc54c..dfc07786eb 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1281,6 +1281,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index bd9687e60c..586d40d5c6 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1249,6 +1249,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index b2a66c4ede..fb641db738 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1408,6 +1408,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index 92b172b839..1b5d476450 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index 92b172b839..1b5d476450 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index ce8a833cfc..16885c419f 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index 37f8c436a3..157b976b1a 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1288,6 +1288,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index 92b172b839..1b5d476450 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index efd11d19cf..b4d452e44f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index efd11d19cf..b4d452e44f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index 743a4d0637..6163837b48 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index b9c859570e..11dcf4254a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1249,6 +1249,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 52136c4528..13e06021e0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1071,6 +1071,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index c9c82a80c5..cd6e743a64 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1070,6 +1070,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index a88fb21bed..60df9c03c8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1064,6 +1064,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 35bd7e7773..550c36ecb9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1433,6 +1433,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index f6d0d69ec6..ec9a35b914 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1352,6 +1352,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 917db48912..6b5f81265a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1352,6 +1352,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 6cf910173b..04714bf403 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 6cf910173b..04714bf403 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -924,6 +924,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 1ec1808524..3256cc91a0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1359,6 +1359,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 3de2c3d660..980cd89d2f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1249,6 +1249,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index cbc17fcd2a..d9c7b785b3 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1282,6 +1282,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index d6ddaf0c7a..d235c026cf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1282,6 +1282,7 @@ GLIBC_2.42 acosf F
GLIBC_2.42 acoshf F
GLIBC_2.42 asinf F
GLIBC_2.42 atan2f F
+GLIBC_2.42 atanhf F
GLIBC_2.42 lgammaf F
GLIBC_2.42 lgammaf_r F
GLIBC_2.42 log10f F
--
2.43.0
More information about the Libc-alpha
mailing list