\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}\mathsf{fma}\left(x \cdot \left(x \cdot x\right), \frac{-1}{3}, \mathsf{fma}\left({x}^{5}, \frac{2}{15}, x\right)\right)double f(double x) {
double r2191019 = x;
double r2191020 = exp(r2191019);
double r2191021 = -r2191019;
double r2191022 = exp(r2191021);
double r2191023 = r2191020 - r2191022;
double r2191024 = r2191020 + r2191022;
double r2191025 = r2191023 / r2191024;
return r2191025;
}
double f(double x) {
double r2191026 = x;
double r2191027 = r2191026 * r2191026;
double r2191028 = r2191026 * r2191027;
double r2191029 = -0.3333333333333333;
double r2191030 = 5.0;
double r2191031 = pow(r2191026, r2191030);
double r2191032 = 0.13333333333333333;
double r2191033 = fma(r2191031, r2191032, r2191026);
double r2191034 = fma(r2191028, r2191029, r2191033);
return r2191034;
}



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