\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}\mathsf{fma}\left({x}^{5}, \frac{2}{15}, x - \frac{1}{3} \cdot {x}^{3}\right)double f(double x) {
double r38993 = x;
double r38994 = exp(r38993);
double r38995 = -r38993;
double r38996 = exp(r38995);
double r38997 = r38994 - r38996;
double r38998 = r38994 + r38996;
double r38999 = r38997 / r38998;
return r38999;
}
double f(double x) {
double r39000 = x;
double r39001 = 5.0;
double r39002 = pow(r39000, r39001);
double r39003 = 0.13333333333333333;
double r39004 = 0.3333333333333333;
double r39005 = 3.0;
double r39006 = pow(r39000, r39005);
double r39007 = r39004 * r39006;
double r39008 = r39000 - r39007;
double r39009 = fma(r39002, r39003, r39008);
return r39009;
}



Bits error versus x
Initial program 58.1
Simplified0.7
Taylor expanded around 0 1.9
Simplified1.9
Final simplification1.9
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x)
:name "Hyperbolic tangent"
:precision binary64
(/ (- (exp x) (exp (- x))) (+ (exp x) (exp (- x)))))