\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(\left(\left(2 \cdot \left({x}^{3} + \left(x + \frac{{x}^{2}}{{1}^{2}}\right)\right) - 4 \cdot \frac{{x}^{3}}{{1}^{2}}\right) - 2 \cdot {x}^{2}\right) + 2.666666666666666518636930049979127943516 \cdot {\left(\frac{x}{1}\right)}^{3}\right)double f(double x) {
double r77875 = 1.0;
double r77876 = 2.0;
double r77877 = r77875 / r77876;
double r77878 = x;
double r77879 = r77875 + r77878;
double r77880 = r77875 - r77878;
double r77881 = r77879 / r77880;
double r77882 = log(r77881);
double r77883 = r77877 * r77882;
return r77883;
}
double f(double x) {
double r77884 = 1.0;
double r77885 = 2.0;
double r77886 = r77884 / r77885;
double r77887 = x;
double r77888 = 3.0;
double r77889 = pow(r77887, r77888);
double r77890 = 2.0;
double r77891 = pow(r77887, r77890);
double r77892 = pow(r77884, r77890);
double r77893 = r77891 / r77892;
double r77894 = r77887 + r77893;
double r77895 = r77889 + r77894;
double r77896 = r77885 * r77895;
double r77897 = 4.0;
double r77898 = r77889 / r77892;
double r77899 = r77897 * r77898;
double r77900 = r77896 - r77899;
double r77901 = r77885 * r77891;
double r77902 = r77900 - r77901;
double r77903 = 2.6666666666666665;
double r77904 = r77887 / r77884;
double r77905 = pow(r77904, r77888);
double r77906 = r77903 * r77905;
double r77907 = r77902 + r77906;
double r77908 = r77886 * r77907;
return r77908;
}



Bits error versus x
Results
Initial program 58.5
rmApplied div-inv58.5
rmApplied flip3-+58.6
Applied frac-times58.6
Applied log-div58.6
Simplified58.6
Simplified58.6
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019325
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))