\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\mathsf{fma}\left(\frac{2}{5}, \left({x}^{5}\right), \left(2 \cdot x + \left(\frac{2}{3} \cdot \left(x \cdot x\right)\right) \cdot x\right)\right) \cdot \frac{1}{2}double f(double x) {
double r12469263 = 1.0;
double r12469264 = 2.0;
double r12469265 = r12469263 / r12469264;
double r12469266 = x;
double r12469267 = r12469263 + r12469266;
double r12469268 = r12469263 - r12469266;
double r12469269 = r12469267 / r12469268;
double r12469270 = log(r12469269);
double r12469271 = r12469265 * r12469270;
return r12469271;
}
double f(double x) {
double r12469272 = 0.4;
double r12469273 = x;
double r12469274 = 5.0;
double r12469275 = pow(r12469273, r12469274);
double r12469276 = 2.0;
double r12469277 = r12469276 * r12469273;
double r12469278 = 0.6666666666666666;
double r12469279 = r12469273 * r12469273;
double r12469280 = r12469278 * r12469279;
double r12469281 = r12469280 * r12469273;
double r12469282 = r12469277 + r12469281;
double r12469283 = fma(r12469272, r12469275, r12469282);
double r12469284 = 0.5;
double r12469285 = r12469283 * r12469284;
return r12469285;
}



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