\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 r61815 = x;
double r61816 = exp(r61815);
double r61817 = -r61815;
double r61818 = exp(r61817);
double r61819 = r61816 - r61818;
double r61820 = 2.0;
double r61821 = r61819 / r61820;
return r61821;
}
double f(double x) {
double r61822 = 0.3333333333333333;
double r61823 = x;
double r61824 = 3.0;
double r61825 = pow(r61823, r61824);
double r61826 = 0.016666666666666666;
double r61827 = 5.0;
double r61828 = pow(r61823, r61827);
double r61829 = 2.0;
double r61830 = r61829 * r61823;
double r61831 = fma(r61826, r61828, r61830);
double r61832 = fma(r61822, r61825, r61831);
double r61833 = 2.0;
double r61834 = r61832 / r61833;
return r61834;
}



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