\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 r71602 = x;
double r71603 = exp(r71602);
double r71604 = -r71602;
double r71605 = exp(r71604);
double r71606 = r71603 - r71605;
double r71607 = 2.0;
double r71608 = r71606 / r71607;
return r71608;
}
double f(double x) {
double r71609 = 0.3333333333333333;
double r71610 = x;
double r71611 = 3.0;
double r71612 = pow(r71610, r71611);
double r71613 = 0.016666666666666666;
double r71614 = 5.0;
double r71615 = pow(r71610, r71614);
double r71616 = 2.0;
double r71617 = r71616 * r71610;
double r71618 = fma(r71613, r71615, r71617);
double r71619 = fma(r71609, r71612, r71618);
double r71620 = 2.0;
double r71621 = r71619 / r71620;
return r71621;
}



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