\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 r43787 = x;
double r43788 = exp(r43787);
double r43789 = -r43787;
double r43790 = exp(r43789);
double r43791 = r43788 - r43790;
double r43792 = 2.0;
double r43793 = r43791 / r43792;
return r43793;
}
double f(double x) {
double r43794 = 0.3333333333333333;
double r43795 = x;
double r43796 = 3.0;
double r43797 = pow(r43795, r43796);
double r43798 = 0.016666666666666666;
double r43799 = 5.0;
double r43800 = pow(r43795, r43799);
double r43801 = 2.0;
double r43802 = r43801 * r43795;
double r43803 = fma(r43798, r43800, r43802);
double r43804 = fma(r43794, r43797, r43803);
double r43805 = 2.0;
double r43806 = r43804 / r43805;
return r43806;
}



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