\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \mathsf{fma}\left(\frac{2}{3}, \frac{{x}^{3}}{{1}^{3}}, \mathsf{fma}\left(2, x, \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)double f(double x) {
double r60453 = 1.0;
double r60454 = 2.0;
double r60455 = r60453 / r60454;
double r60456 = x;
double r60457 = r60453 + r60456;
double r60458 = r60453 - r60456;
double r60459 = r60457 / r60458;
double r60460 = log(r60459);
double r60461 = r60455 * r60460;
return r60461;
}
double f(double x) {
double r60462 = 1.0;
double r60463 = 2.0;
double r60464 = r60462 / r60463;
double r60465 = 0.6666666666666666;
double r60466 = x;
double r60467 = 3.0;
double r60468 = pow(r60466, r60467);
double r60469 = pow(r60462, r60467);
double r60470 = r60468 / r60469;
double r60471 = 0.4;
double r60472 = 5.0;
double r60473 = pow(r60466, r60472);
double r60474 = pow(r60462, r60472);
double r60475 = r60473 / r60474;
double r60476 = r60471 * r60475;
double r60477 = fma(r60463, r60466, r60476);
double r60478 = fma(r60465, r60470, r60477);
double r60479 = r60464 * r60478;
return r60479;
}



Bits error versus x
Initial program 58.4
rmApplied log-div58.4
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020034 +o rules:numerics
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
:precision binary64
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))