\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\frac{2 \cdot \left(\left(x + x \cdot x\right) - \frac{x}{1} \cdot \frac{x}{1}\right) + \log 1}{\frac{2}{1}}double f(double x) {
double r42636 = 1.0;
double r42637 = 2.0;
double r42638 = r42636 / r42637;
double r42639 = x;
double r42640 = r42636 + r42639;
double r42641 = r42636 - r42639;
double r42642 = r42640 / r42641;
double r42643 = log(r42642);
double r42644 = r42638 * r42643;
return r42644;
}
double f(double x) {
double r42645 = 2.0;
double r42646 = x;
double r42647 = r42646 * r42646;
double r42648 = r42646 + r42647;
double r42649 = 1.0;
double r42650 = r42646 / r42649;
double r42651 = r42650 * r42650;
double r42652 = r42648 - r42651;
double r42653 = r42645 * r42652;
double r42654 = log(r42649);
double r42655 = r42653 + r42654;
double r42656 = r42645 / r42649;
double r42657 = r42655 / r42656;
return r42657;
}



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