\frac{e^{x} - e^{-x}}{2}\frac{\mathsf{fma}\left(\frac{1}{3}, {x}^{3}, \mathsf{fma}\left(\frac{1}{60}, {x}^{5}, 2 \cdot x\right)\right)}{2}double f(double x) {
double r45342 = x;
double r45343 = exp(r45342);
double r45344 = -r45342;
double r45345 = exp(r45344);
double r45346 = r45343 - r45345;
double r45347 = 2.0;
double r45348 = r45346 / r45347;
return r45348;
}
double f(double x) {
double r45349 = 0.3333333333333333;
double r45350 = x;
double r45351 = 3.0;
double r45352 = pow(r45350, r45351);
double r45353 = 0.016666666666666666;
double r45354 = 5.0;
double r45355 = pow(r45350, r45354);
double r45356 = 2.0;
double r45357 = r45356 * r45350;
double r45358 = fma(r45353, r45355, r45357);
double r45359 = fma(r45349, r45352, r45358);
double r45360 = 2.0;
double r45361 = r45359 / r45360;
return r45361;
}



Bits error versus x
Initial program 58.1
Taylor expanded around 0 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019235 +o rules:numerics
(FPCore (x)
:name "Hyperbolic sine"
:precision binary64
(/ (- (exp x) (exp (- x))) 2))