\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 r46922 = x;
double r46923 = exp(r46922);
double r46924 = -r46922;
double r46925 = exp(r46924);
double r46926 = r46923 - r46925;
double r46927 = 2.0;
double r46928 = r46926 / r46927;
return r46928;
}
double f(double x) {
double r46929 = 0.3333333333333333;
double r46930 = x;
double r46931 = 3.0;
double r46932 = pow(r46930, r46931);
double r46933 = 0.016666666666666666;
double r46934 = 5.0;
double r46935 = pow(r46930, r46934);
double r46936 = 2.0;
double r46937 = r46936 * r46930;
double r46938 = fma(r46933, r46935, r46937);
double r46939 = fma(r46929, r46932, r46938);
double r46940 = 2.0;
double r46941 = r46939 / r46940;
return r46941;
}



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