\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\mathsf{fma}\left(\frac{2}{5}, {x}^{5}, 2 \cdot x + \left(\left(x \cdot \frac{2}{3}\right) \cdot x\right) \cdot x\right) \cdot \frac{1}{2}double f(double x) {
double r2260046 = 1.0;
double r2260047 = 2.0;
double r2260048 = r2260046 / r2260047;
double r2260049 = x;
double r2260050 = r2260046 + r2260049;
double r2260051 = r2260046 - r2260049;
double r2260052 = r2260050 / r2260051;
double r2260053 = log(r2260052);
double r2260054 = r2260048 * r2260053;
return r2260054;
}
double f(double x) {
double r2260055 = 0.4;
double r2260056 = x;
double r2260057 = 5.0;
double r2260058 = pow(r2260056, r2260057);
double r2260059 = 2.0;
double r2260060 = r2260059 * r2260056;
double r2260061 = 0.6666666666666666;
double r2260062 = r2260056 * r2260061;
double r2260063 = r2260062 * r2260056;
double r2260064 = r2260063 * r2260056;
double r2260065 = r2260060 + r2260064;
double r2260066 = fma(r2260055, r2260058, r2260065);
double r2260067 = 0.5;
double r2260068 = r2260066 * r2260067;
return r2260068;
}



Bits error versus x
Initial program 58.5
Simplified58.5
Taylor expanded around 0 0.2
Simplified0.2
rmApplied distribute-lft-in0.2
Final simplification0.2
herbie shell --seed 2019146 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))