\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -9003244184241789 \lor \neg \left(x \le 41603129.67642414569854736328125\right):\\
\;\;\;\;\frac{-2}{{x}^{4}} - \left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{6}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x \cdot x - 1 \cdot 1} \cdot \left(\left(x - 1\right) - \left(1 + x\right)\right)\\
\end{array}double f(double x) {
double r150704 = 1.0;
double r150705 = x;
double r150706 = r150705 + r150704;
double r150707 = r150704 / r150706;
double r150708 = r150705 - r150704;
double r150709 = r150704 / r150708;
double r150710 = r150707 - r150709;
return r150710;
}
double f(double x) {
double r150711 = x;
double r150712 = -9003244184241789.0;
bool r150713 = r150711 <= r150712;
double r150714 = 41603129.676424146;
bool r150715 = r150711 <= r150714;
double r150716 = !r150715;
bool r150717 = r150713 || r150716;
double r150718 = 2.0;
double r150719 = -r150718;
double r150720 = 4.0;
double r150721 = pow(r150711, r150720);
double r150722 = r150719 / r150721;
double r150723 = r150718 / r150711;
double r150724 = r150723 / r150711;
double r150725 = 6.0;
double r150726 = pow(r150711, r150725);
double r150727 = r150718 / r150726;
double r150728 = r150724 + r150727;
double r150729 = r150722 - r150728;
double r150730 = 1.0;
double r150731 = r150711 * r150711;
double r150732 = r150730 * r150730;
double r150733 = r150731 - r150732;
double r150734 = r150730 / r150733;
double r150735 = r150711 - r150730;
double r150736 = r150730 + r150711;
double r150737 = r150735 - r150736;
double r150738 = r150734 * r150737;
double r150739 = r150717 ? r150729 : r150738;
return r150739;
}



Bits error versus x
Results
if x < -9003244184241789.0 or 41603129.676424146 < x Initial program 29.7
Taylor expanded around inf 0.7
Simplified0.7
rmApplied associate-/r*0.1
if -9003244184241789.0 < x < 41603129.676424146Initial program 0.8
rmApplied flip--0.8
Applied associate-/r/0.8
Applied flip-+0.8
Applied associate-/r/0.8
Applied distribute-lft-out--0.0
Final simplification0.1
herbie shell --seed 2019179 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
(- (/ 1.0 (+ x 1.0)) (/ 1.0 (- x 1.0))))