\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\mathsf{fma}\left(2, x, \mathsf{fma}\left(\frac{2}{5}, {x}^{5}, x \cdot \left(\left(x \cdot x\right) \cdot \frac{2}{3}\right)\right)\right) \cdot \frac{1}{2}double f(double x) {
double r976970 = 1.0;
double r976971 = 2.0;
double r976972 = r976970 / r976971;
double r976973 = x;
double r976974 = r976970 + r976973;
double r976975 = r976970 - r976973;
double r976976 = r976974 / r976975;
double r976977 = log(r976976);
double r976978 = r976972 * r976977;
return r976978;
}
double f(double x) {
double r976979 = 2.0;
double r976980 = x;
double r976981 = 0.4;
double r976982 = 5.0;
double r976983 = pow(r976980, r976982);
double r976984 = r976980 * r976980;
double r976985 = 0.6666666666666666;
double r976986 = r976984 * r976985;
double r976987 = r976980 * r976986;
double r976988 = fma(r976981, r976983, r976987);
double r976989 = fma(r976979, r976980, r976988);
double r976990 = 0.5;
double r976991 = r976989 * r976990;
return r976991;
}



Bits error versus x
Initial program 58.4
Simplified58.4
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019154 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))