\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(\frac{2}{3} \cdot \frac{{x}^{3}}{{1}^{3}} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)double f(double x) {
double r38958 = 1.0;
double r38959 = 2.0;
double r38960 = r38958 / r38959;
double r38961 = x;
double r38962 = r38958 + r38961;
double r38963 = r38958 - r38961;
double r38964 = r38962 / r38963;
double r38965 = log(r38964);
double r38966 = r38960 * r38965;
return r38966;
}
double f(double x) {
double r38967 = 1.0;
double r38968 = 2.0;
double r38969 = r38967 / r38968;
double r38970 = 0.6666666666666666;
double r38971 = x;
double r38972 = 3.0;
double r38973 = pow(r38971, r38972);
double r38974 = pow(r38967, r38972);
double r38975 = r38973 / r38974;
double r38976 = r38970 * r38975;
double r38977 = r38968 * r38971;
double r38978 = 0.4;
double r38979 = 5.0;
double r38980 = pow(r38971, r38979);
double r38981 = pow(r38967, r38979);
double r38982 = r38980 / r38981;
double r38983 = r38978 * r38982;
double r38984 = r38977 + r38983;
double r38985 = r38976 + r38984;
double r38986 = r38969 * r38985;
return r38986;
}



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