\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 r30942 = x;
double r30943 = exp(r30942);
double r30944 = -r30942;
double r30945 = exp(r30944);
double r30946 = r30943 - r30945;
double r30947 = 2.0;
double r30948 = r30946 / r30947;
return r30948;
}
double f(double x) {
double r30949 = 0.3333333333333333;
double r30950 = x;
double r30951 = 3.0;
double r30952 = pow(r30950, r30951);
double r30953 = 0.016666666666666666;
double r30954 = 5.0;
double r30955 = pow(r30950, r30954);
double r30956 = 2.0;
double r30957 = r30956 * r30950;
double r30958 = fma(r30953, r30955, r30957);
double r30959 = fma(r30949, r30952, r30958);
double r30960 = 2.0;
double r30961 = r30959 / r30960;
return r30961;
}



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