\frac{e^{x} - e^{-x}}{2}\frac{\mathsf{fma}\left(\sqrt{e^{-x}}, x, \left(\sqrt{e^{x}} + \sqrt{e^{-x}}\right) \cdot \mathsf{fma}\left(\frac{1}{24}, {x}^{3}, \frac{1}{1920} \cdot {x}^{5}\right) + x \cdot \sqrt{e^{x}}\right)}{2}double f(double x) {
double r38028 = x;
double r38029 = exp(r38028);
double r38030 = -r38028;
double r38031 = exp(r38030);
double r38032 = r38029 - r38031;
double r38033 = 2.0;
double r38034 = r38032 / r38033;
return r38034;
}
double f(double x) {
double r38035 = x;
double r38036 = -r38035;
double r38037 = exp(r38036);
double r38038 = sqrt(r38037);
double r38039 = exp(r38035);
double r38040 = sqrt(r38039);
double r38041 = r38040 + r38038;
double r38042 = 0.041666666666666664;
double r38043 = 3.0;
double r38044 = pow(r38035, r38043);
double r38045 = 0.0005208333333333333;
double r38046 = 5.0;
double r38047 = pow(r38035, r38046);
double r38048 = r38045 * r38047;
double r38049 = fma(r38042, r38044, r38048);
double r38050 = r38041 * r38049;
double r38051 = r38035 * r38040;
double r38052 = r38050 + r38051;
double r38053 = fma(r38038, r38035, r38052);
double r38054 = 2.0;
double r38055 = r38053 / r38054;
return r38055;
}



Bits error versus x
Initial program 57.9
rmApplied add-sqr-sqrt58.0
Applied add-sqr-sqrt58.0
Applied difference-of-squares58.0
Taylor expanded around 0 0.6
Simplified0.6
Taylor expanded around -inf 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019306 +o rules:numerics
(FPCore (x)
:name "Hyperbolic sine"
:precision binary64
(/ (- (exp x) (exp (- x))) 2))