\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(\frac{2}{3} \cdot {\left(\frac{x}{1}\right)}^{3} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)double f(double x) {
double r39621 = 1.0;
double r39622 = 2.0;
double r39623 = r39621 / r39622;
double r39624 = x;
double r39625 = r39621 + r39624;
double r39626 = r39621 - r39624;
double r39627 = r39625 / r39626;
double r39628 = log(r39627);
double r39629 = r39623 * r39628;
return r39629;
}
double f(double x) {
double r39630 = 1.0;
double r39631 = 2.0;
double r39632 = r39630 / r39631;
double r39633 = 0.6666666666666666;
double r39634 = x;
double r39635 = r39634 / r39630;
double r39636 = 3.0;
double r39637 = pow(r39635, r39636);
double r39638 = r39633 * r39637;
double r39639 = r39631 * r39634;
double r39640 = 0.4;
double r39641 = 5.0;
double r39642 = pow(r39634, r39641);
double r39643 = pow(r39630, r39641);
double r39644 = r39642 / r39643;
double r39645 = r39640 * r39644;
double r39646 = r39639 + r39645;
double r39647 = r39638 + r39646;
double r39648 = r39632 * r39647;
return r39648;
}



Bits error versus x
Results
Initial program 58.5
rmApplied flip--58.5
Applied associate-/r/58.5
Applied log-prod58.5
Simplified58.5
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019304
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))