\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 r55524 = x;
double r55525 = exp(r55524);
double r55526 = -r55524;
double r55527 = exp(r55526);
double r55528 = r55525 - r55527;
double r55529 = 2.0;
double r55530 = r55528 / r55529;
return r55530;
}
double f(double x) {
double r55531 = 0.3333333333333333;
double r55532 = x;
double r55533 = 3.0;
double r55534 = pow(r55532, r55533);
double r55535 = 0.016666666666666666;
double r55536 = 5.0;
double r55537 = pow(r55532, r55536);
double r55538 = 2.0;
double r55539 = r55538 * r55532;
double r55540 = fma(r55535, r55537, r55539);
double r55541 = fma(r55531, r55534, r55540);
double r55542 = 2.0;
double r55543 = r55541 / r55542;
return r55543;
}



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