\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(2 \cdot \left(\left(x \cdot x + x\right) - \frac{x \cdot x}{1 \cdot 1}\right) + \log 1\right)double f(double x) {
double r2611155 = 1.0;
double r2611156 = 2.0;
double r2611157 = r2611155 / r2611156;
double r2611158 = x;
double r2611159 = r2611155 + r2611158;
double r2611160 = r2611155 - r2611158;
double r2611161 = r2611159 / r2611160;
double r2611162 = log(r2611161);
double r2611163 = r2611157 * r2611162;
return r2611163;
}
double f(double x) {
double r2611164 = 1.0;
double r2611165 = 2.0;
double r2611166 = r2611164 / r2611165;
double r2611167 = x;
double r2611168 = r2611167 * r2611167;
double r2611169 = r2611168 + r2611167;
double r2611170 = r2611164 * r2611164;
double r2611171 = r2611168 / r2611170;
double r2611172 = r2611169 - r2611171;
double r2611173 = r2611165 * r2611172;
double r2611174 = log(r2611164);
double r2611175 = r2611173 + r2611174;
double r2611176 = r2611166 * r2611175;
return r2611176;
}



Bits error versus x
Results
Initial program 58.4
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019174
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1.0 2.0) (log (/ (+ 1.0 x) (- 1.0 x)))))