\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{1}{2} \cdot \left(x \cdot 2 + \left(\left(x \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \frac{2}{5} + \left(x \cdot x\right) \cdot \left(x \cdot \frac{2}{3}\right)\right)\right)double f(double x) {
double r2892190 = 1.0;
double r2892191 = 2.0;
double r2892192 = r2892190 / r2892191;
double r2892193 = x;
double r2892194 = r2892190 + r2892193;
double r2892195 = r2892190 - r2892193;
double r2892196 = r2892194 / r2892195;
double r2892197 = log(r2892196);
double r2892198 = r2892192 * r2892197;
return r2892198;
}
double f(double x) {
double r2892199 = 0.5;
double r2892200 = x;
double r2892201 = 2.0;
double r2892202 = r2892200 * r2892201;
double r2892203 = r2892200 * r2892200;
double r2892204 = r2892203 * r2892203;
double r2892205 = r2892200 * r2892204;
double r2892206 = 0.4;
double r2892207 = r2892205 * r2892206;
double r2892208 = 0.6666666666666666;
double r2892209 = r2892200 * r2892208;
double r2892210 = r2892203 * r2892209;
double r2892211 = r2892207 + r2892210;
double r2892212 = r2892202 + r2892211;
double r2892213 = r2892199 * r2892212;
return r2892213;
}



Bits error versus x
Results
Initial program 58.5
Simplified58.5
Taylor expanded around 0 0.2
Simplified0.2
rmApplied distribute-lft-in0.2
Applied associate-+r+0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019130
(FPCore (x)
:name "Hyperbolic arc-(co)tangent"
(* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))