\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -197.6959578773428347631124779582023620605 \lor \neg \left(x \le 221.5934540176410223466518800705671310425\right):\\
\;\;\;\;\left(-\frac{2}{{x}^{6}}\right) - \left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{4}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-\frac{1}{{x}^{3} - {1}^{3}}, \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right), \frac{1}{x + 1}\right) + \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\left(-\mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right) + \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right)\\
\end{array}double f(double x) {
double r116779 = 1.0;
double r116780 = x;
double r116781 = r116780 + r116779;
double r116782 = r116779 / r116781;
double r116783 = r116780 - r116779;
double r116784 = r116779 / r116783;
double r116785 = r116782 - r116784;
return r116785;
}
double f(double x) {
double r116786 = x;
double r116787 = -197.69595787734283;
bool r116788 = r116786 <= r116787;
double r116789 = 221.59345401764102;
bool r116790 = r116786 <= r116789;
double r116791 = !r116790;
bool r116792 = r116788 || r116791;
double r116793 = 2.0;
double r116794 = 6.0;
double r116795 = pow(r116786, r116794);
double r116796 = r116793 / r116795;
double r116797 = -r116796;
double r116798 = r116793 / r116786;
double r116799 = r116798 / r116786;
double r116800 = 4.0;
double r116801 = pow(r116786, r116800);
double r116802 = r116793 / r116801;
double r116803 = r116799 + r116802;
double r116804 = r116797 - r116803;
double r116805 = 1.0;
double r116806 = 3.0;
double r116807 = pow(r116786, r116806);
double r116808 = pow(r116805, r116806);
double r116809 = r116807 - r116808;
double r116810 = r116805 / r116809;
double r116811 = -r116810;
double r116812 = r116786 + r116805;
double r116813 = r116812 * r116805;
double r116814 = fma(r116786, r116786, r116813);
double r116815 = r116805 / r116812;
double r116816 = fma(r116811, r116814, r116815);
double r116817 = -r116814;
double r116818 = r116817 + r116814;
double r116819 = r116810 * r116818;
double r116820 = r116816 + r116819;
double r116821 = r116792 ? r116804 : r116820;
return r116821;
}



Bits error versus x
if x < -197.69595787734283 or 221.59345401764102 < x Initial program 29.1
Taylor expanded around inf 0.8
Simplified0.8
rmApplied associate-/r*0.1
if -197.69595787734283 < x < 221.59345401764102Initial program 0.0
rmApplied flip3--0.0
Applied associate-/r/0.0
Applied add-sqr-sqrt0.2
Applied prod-diff0.2
Simplified0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019326 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
:precision binary64
(- (/ 1 (+ x 1)) (/ 1 (- x 1))))