[11/12] benchtests: Add sinhf function to bench-math

Message ID 20211029171941.4161172-12-skpgkp2@gmail.com
State Dropped
Headers
Series benchtests: Add float version of math functions to bench-math |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Sunil Pandey Oct. 29, 2021, 5:19 p.m. UTC
  Add sinhf function to bench-math and copy sinhf-inputs to benchtests.
Motivation for this patch is to prepare for upcoming libmvec new
functions.  Float and double version of libmvec functions stays
together.

sinhf-inputs file generated from sinh-inputs file using following
scaling formula:

f = d * (FLT_MAX/DBL_MAX)

Where d is input(double) and f is output(float).  If scaled float value
is duplicate in new input file, nextafterf() function used to find next
float value, ensuring no duplicates.
---
 benchtests/Makefile     |   1 +
 benchtests/sinhf-inputs | 303 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 304 insertions(+)
 create mode 100644 benchtests/sinhf-inputs
  

Comments

Paul Zimmermann Nov. 4, 2021, 7:53 a.m. UTC | #1
Dear Sunil,

the sinhf inputs contain many values such that sinhf(x) overflows, for
example the first one:

> +0x1.bcb612p+8

sage: x=RealField(24)("0x1.bcb612p+8",16)
sage: sinh(x)
6.83275e192

whereas the largest binary32 number is about 3.40282e38.

Paul

PS: despite my comments, I believe adding such inputs will be a nice addition.
  

Patch

diff --git a/benchtests/Makefile b/benchtests/Makefile
index d8d82cd644..8d050d270d 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -86,6 +86,7 @@  bench-math := \
   sincosf \
   sinf \
   sinh \
+  sinhf \
   sqrt \
   tan \
   tanh \
diff --git a/benchtests/sinhf-inputs b/benchtests/sinhf-inputs
new file mode 100644
index 0000000000..93402f1eb8
--- /dev/null
+++ b/benchtests/sinhf-inputs
@@ -0,0 +1,303 @@ 
+## args: float
+## ret: float
+## includes: math.h
+0x1.bcb612p+8
+-0x1.630574p+9
+0x1.62f1d8p+9
+0x1.d038a4p+8
+-0x1.e471c2p-7
+0x1.a552c2p+4
+0x1.ea80c2p+4
+0x1.62e676p+9
+0x1.62edf6p+9
+-0x1.23f9c6p+6
+-0x1.62fac6p+9
+0x1.3e57e6p+3
+0x1.bab604p+4
+0x1.aeceb4p+5
+0x1.62ff74p+9
+-0x1.6c62d6p+6
+-0x1.633c12p+9
+-0x1.c6d344p+5
+0x1.50fc32p-15
+-0x1.62eff2p+9
+-0x1.7019f6p+7
+-0x1.ecea84p-4
+0x1.6302c4p+9
+-0x1.1929f6p+8
+-0x1.c6abd4p+3
+0x1.df98b2p+8
+-0x1.0a995p-23
+0x1.62f874p+9
+-0x1.6300b6p+9
+-0x1.465a56p-7
+0x1.630182p+9
+0x1.62f236p+9
+-0x1.0469p-16
+0x1.baaef8p-22
+0x1.62f446p+9
+0x1.62ecb6p+9
+0x1.632046p+9
+-0x1.66e894p+6
+0x1.62ee44p+9
+-0x1.632432p+9
+0x1.5d078p+1
+0x1.aa3c54p+6
+-0x1.2cdd06p+7
+0x1.62e9f2p+9
+0x1.631844p+9
+-0x1.2bf936p+4
+-0x1.848c54p-13
+-0x1.a38c98p-6
+0x1.b1d184p-27
+0x1.02c704p-15
+-0x1.bdcec6p-17
+0x1.633c66p+9
+0x1.6061dp-10
+0x1.eb7556p+5
+-0x1.6327e2p+9
+-0x1.316944p-26
+0x1.6e5406p-9
+0x1.bd831p-8
+0x1.cc4afp+8
+-0x1.9a5ff6p+6
+-0x1.9725c2p+5
+-0x1.6317b8p+9
+0x1.9d2f88p+5
+0x1.213554p+9
+0x1.6302b8p+9
+0x1.493644p+9
+0x1.62f188p+9
+-0x1.6315b4p+9
+0x1.633cd2p+9
+0x1.632854p+9
+0x1.6304f4p+9
+-0x1.62e932p+9
+-0x1.c1b3f8p-6
+-0x1.c43692p-24
+-0x1.632336p+9
+-0x1.562ea2p+7
+0x1.600ef6p+4
+-0x1.7f4192p-2
+-0x1.f4d3fp+7
+-0x1.62fc34p+9
+0x1.3395d8p-18
+-0x1.3ccc12p-23
+-0x1.5bb91p-24
+0x1.83f8e6p+6
+-0x1.a729d2p+8
+-0x1.1b0058p+7
+-0x1.62fa74p+9
+0x1.97df84p-22
+-0x1.097746p+7
+-0x1.d04274p-27
+0x1.8a1a04p-23
+0x1.632396p+9
+0x1.0f45b6p-21
+-0x1.0d68a2p-2
+-0x1.239ff6p+6
+0x1.632b74p+9
+0x1.ee36b2p+7
+0x1.7e02f6p-18
+0x1.f1a486p-22
+-0x1.6319f8p+9
+-0x1.5f2434p-16
+0x1.630c72p+9
+-0x1.4d214p+8
+0x1.8713c2p-6
+0x1.69bb82p-22
+-0x1.633a82p+9
+0x1.62f668p+9
+-0x1.ba2396p+8
+-0x1.62fdf2p+9
+0x1.819596p+7
+0x1.633714p+9
+-0x1.633754p+9
+0x1.935688p+4
+0x1.631852p+9
+-0x1.ee0742p-18
+-0x1.887034p+3
+-0x1.631676p+9
+-0x1.f2bd96p-27
+-0x1.d897ap+3
+-0x1.630fb4p+9
+-0x1.62e862p+9
+-0x1.84acb4p+1
+-0x1.378b42p-22
+0x1.2825d2p+6
+0x1.631f84p+9
+-0x1.368536p-20
+0x1.9b9a34p-21
+0x1.e39284p+7
+0x1.631684p+9
+0x1.630374p+9
+-0x1.3c0e14p+8
+0x1.96cf32p-8
+0x1.652cb6p+6
+0x1.644064p-4
+0x1.4512d4p+1
+0x1.6337b6p+9
+0x1.449eep-12
+-0x1.d1ecfp+8
+-0x1.be8e12p-12
+0x1.62fa16p+9
+-0x1.de739p+7
+-0x1.8c1a42p+4
+0x1.465d82p+7
+0x1.3db012p+5
+-0x1.5329b4p+8
+-0x1.5695b6p+6
+0x1.6300e4p+9
+0x1.630252p+9
+0x1.8d8058p-11
+-0x1.62e936p+9
+-0x1.fb2f32p+6
+0x1.9d18d4p-15
+0x1.6311f8p+9
+-0x1.7498c6p-9
+0x1.f690a6p-3
+0x1.d63fe6p+7
+-0x1.a23882p-19
+0x1.0738a2p+6
+-0x1.ca36b6p-3
+0x1.62ea12p+9
+0x1.1e4702p-22
+0x1.6322f2p+9
+0x1.62e6b6p+9
+0x1.54c5f6p+0
+-0x1.02a544p-5
+-0x1.ab3a92p+5
+-0x1.6321d8p+9
+0x1.633508p+9
+0x1.6336a4p+9
+-0x1.630398p+9
+-0x1.baead8p+4
+0x1.988528p-20
+0x1.cfd2c4p+6
+-0x1.ce3bf2p+8
+-0x1.d3e824p+8
+0x1.31a646p+7
+-0x1.62f382p+9
+-0x1.1043c4p-23
+-0x1.074b08p-6
+0x1.62f922p+9
+0x1.415f92p-26
+0x1.d6c6f6p+7
+-0x1.631538p+9
+0x1.631ca2p+9
+-0x1.b276e6p+8
+0x1.630a64p+9
+-0x1.3c6722p-11
+-0x1.6330bp+9
+-0x1.30b154p-5
+-0x1.630ef6p+9
+0x1.d20df4p-21
+-0x1.a69a66p+8
+-0x1.c69e92p+6
+0x1.6a7f5p-17
+-0x1.ca3844p+8
+0x1.32a202p+7
+-0x1.320c54p+8
+0x1.10c194p-10
+-0x1.2a2bb2p+6
+-0x1.d1b6a4p-10
+0x1.ba51cp-8
+0x1.4eb504p+6
+0x1.632b32p+9
+-0x1.f03c46p-25
+0x1.081016p-4
+-0x1.f6a974p+6
+-0x1.f56fa8p+5
+0x1.df8044p+4
+-0x1.141d54p+7
+0x1.0078e8p+6
+0x1.cef6f8p-19
+0x1.0d0cep-15
+0x1.632668p+9
+0x1.3c1dd4p+6
+0x1.ddc3c4p+6
+-0x1.632752p+9
+0x1.630e02p+9
+0x1.dac294p+5
+0x1.63151p+9
+-0x1.028ed2p-17
+-0x1.b0bb58p+5
+-0x1.783bf4p-18
+0x1.c5d5e4p-26
+-0x1.915ff6p+5
+-0x1.63351p+9
+0x1.6312d4p+9
+0x1.6d20f4p+7
+-0x1.6303cp+9
+-0x1.62faa8p+9
+-0x1.633196p+9
+0x1.6329f4p+9
+0x1.3877fp+5
+-0x1.413e16p-8
+0x1.f017e4p+3
+0x1.230e2p+5
+-0x1.7b67d6p+7
+0x1.04c9fp+2
+-0x1.1ebe28p+6
+-0x1.62f596p+9
+-0x1.496ec4p+5
+0x1.2f7512p+8
+0x1.62ec22p+9
+-0x1.487514p+5
+0x1.632968p+9
+-0x1.1de032p+9
+0x1.73d4f8p+5
+0x1.62ef22p+9
+-0x1.7cd576p+7
+0x1.402cap+8
+0x1.632cc2p+9
+-0x1.631ec4p+9
+-0x1.278e06p-17
+-0x1.62f556p+9
+0x1.6310e8p+9
+-0x1.3d48p+7
+-0x1.4517c6p-1
+0x1.6307c4p+9
+0x1.630184p+9
+-0x1.8d2e66p-9
+-0x1.98df08p+8
+-0x1.a27ee2p-10
+0x1.6387b4p+8
+-0x1.05cbb4p+7
+-0x1.525944p+1
+-0x1.4c9236p-18
+0x1.632a66p+9
+-0x1.62fbd8p+9
+-0x1.728176p-24
+0x1.62e638p+9
+-0x1.632b62p+9
+-0x1.25a7b6p-3
+0x1.00efd6p-10
+-0x1.633698p+9
+-0x1.359ca2p-12
+0x1.5e2af8p+9
+0x1.62fb54p+9
+-0x1.630544p+9
+0x1.0b7222p+3
+-0x1.1fb7bp-22
+0x1.c7b736p+5
+0x1.dde518p+5
+-0x1.13d522p-15
+0x1.1868b4p-22
+-0x1.a93694p-18
+0x1.d35412p+7
+-0x1.35d974p+1
+-0x1.631608p+9
+0x1.7c96f8p-25
+0x1.2b2582p+6
+-0x1.a28482p+6
+0x1.467a94p+8
+0x1.a1ca4p-4
+-0x1.34b9e2p+5
+0x1.00e732p+7
+-0x1.01f6e4p-13
+-0x1.d84fp-7
+-0x1.632dc4p+9
+-0x1.724f82p-25
+0x1.62f6f6p+9
+-0x1.b07148p+4