\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\mathsf{fma}\left(2, x, \left(\mathsf{fma}\left(\frac{2}{3}, \left(\left(x \cdot x\right) \cdot x\right), \left(\frac{2}{5} \cdot {x}^{5}\right)\right)\right)\right) \cdot \frac{1}{2}double f(double x) {
double r1480170 = 1.0;
double r1480171 = 2.0;
double r1480172 = r1480170 / r1480171;
double r1480173 = x;
double r1480174 = r1480170 + r1480173;
double r1480175 = r1480170 - r1480173;
double r1480176 = r1480174 / r1480175;
double r1480177 = log(r1480176);
double r1480178 = r1480172 * r1480177;
return r1480178;
}
double f(double x) {
double r1480179 = 2.0;
double r1480180 = x;
double r1480181 = 0.6666666666666666;
double r1480182 = r1480180 * r1480180;
double r1480183 = r1480182 * r1480180;
double r1480184 = 0.4;
double r1480185 = 5.0;
double r1480186 = pow(r1480180, r1480185);
double r1480187 = r1480184 * r1480186;
double r1480188 = fma(r1480181, r1480183, r1480187);
double r1480189 = fma(r1480179, r1480180, r1480188);
double r1480190 = 0.5;
double r1480191 = r1480189 * r1480190;
return r1480191;
}



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