\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(2 \cdot x + \left(\frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}} + {\left(\frac{x}{1}\right)}^{3} \cdot \frac{2}{3}\right)\right)double f(double x) {
double r61687 = 1.0;
double r61688 = 2.0;
double r61689 = r61687 / r61688;
double r61690 = x;
double r61691 = r61687 + r61690;
double r61692 = r61687 - r61690;
double r61693 = r61691 / r61692;
double r61694 = log(r61693);
double r61695 = r61689 * r61694;
return r61695;
}
double f(double x) {
double r61696 = 1.0;
double r61697 = 2.0;
double r61698 = r61696 / r61697;
double r61699 = x;
double r61700 = r61697 * r61699;
double r61701 = 0.4;
double r61702 = 5.0;
double r61703 = pow(r61699, r61702);
double r61704 = pow(r61696, r61702);
double r61705 = r61703 / r61704;
double r61706 = r61701 * r61705;
double r61707 = r61699 / r61696;
double r61708 = 3.0;
double r61709 = pow(r61707, r61708);
double r61710 = 0.6666666666666666;
double r61711 = r61709 * r61710;
double r61712 = r61706 + r61711;
double r61713 = r61700 + r61712;
double r61714 = r61698 * r61713;
return r61714;
}



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