\frac{1.0}{2.0} \cdot \log \left(\frac{1.0 + x}{1.0 - x}\right)\left(\frac{{x}^{5}}{{1.0}^{5}} \cdot \frac{2}{5} + \left(\frac{x}{1.0} \cdot \log \left(e^{\frac{2}{3} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)}\right) + x \cdot 2.0\right)\right) \cdot \frac{1.0}{2.0}double f(double x) {
double r2650480 = 1.0;
double r2650481 = 2.0;
double r2650482 = r2650480 / r2650481;
double r2650483 = x;
double r2650484 = r2650480 + r2650483;
double r2650485 = r2650480 - r2650483;
double r2650486 = r2650484 / r2650485;
double r2650487 = log(r2650486);
double r2650488 = r2650482 * r2650487;
return r2650488;
}
double f(double x) {
double r2650489 = x;
double r2650490 = 5.0;
double r2650491 = pow(r2650489, r2650490);
double r2650492 = 1.0;
double r2650493 = pow(r2650492, r2650490);
double r2650494 = r2650491 / r2650493;
double r2650495 = 0.4;
double r2650496 = r2650494 * r2650495;
double r2650497 = r2650489 / r2650492;
double r2650498 = 0.6666666666666666;
double r2650499 = r2650497 * r2650497;
double r2650500 = r2650498 * r2650499;
double r2650501 = exp(r2650500);
double r2650502 = log(r2650501);
double r2650503 = r2650497 * r2650502;
double r2650504 = 2.0;
double r2650505 = r2650489 * r2650504;
double r2650506 = r2650503 + r2650505;
double r2650507 = r2650496 + r2650506;
double r2650508 = r2650492 / r2650504;
double r2650509 = r2650507 * r2650508;
return r2650509;
}



Bits error versus x
Results
Initial program 58.5
rmApplied log-div58.5
Taylor expanded around 0 0.2
Simplified0.2
rmApplied add-log-exp0.2
Final simplification0.2
herbie shell --seed 2019165
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1.0 2.0) (log (/ (+ 1.0 x) (- 1.0 x)))))