\frac{1}{x + 1} - \frac{1}{x}\begin{array}{l}
\mathbf{if}\;x \le -6935920363808791.0:\\
\;\;\;\;\frac{1}{\left(x \cdot x\right) \cdot x} - \mathsf{fma}\left(\frac{1}{x \cdot x}, \frac{1}{x \cdot x}, {x}^{-2}\right)\\
\mathbf{elif}\;x \le 229105.08111828775:\\
\;\;\;\;\frac{x - \left(1 + x\right)}{x \cdot \left(1 + x\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\left(x \cdot x\right) \cdot x} - \mathsf{fma}\left(\frac{1}{x \cdot x}, \frac{1}{x \cdot x}, {x}^{-2}\right)\\
\end{array}double f(double x) {
double r1589761 = 1.0;
double r1589762 = x;
double r1589763 = r1589762 + r1589761;
double r1589764 = r1589761 / r1589763;
double r1589765 = r1589761 / r1589762;
double r1589766 = r1589764 - r1589765;
return r1589766;
}
double f(double x) {
double r1589767 = x;
double r1589768 = -6935920363808791.0;
bool r1589769 = r1589767 <= r1589768;
double r1589770 = 1.0;
double r1589771 = r1589767 * r1589767;
double r1589772 = r1589771 * r1589767;
double r1589773 = r1589770 / r1589772;
double r1589774 = r1589770 / r1589771;
double r1589775 = -2.0;
double r1589776 = pow(r1589767, r1589775);
double r1589777 = fma(r1589774, r1589774, r1589776);
double r1589778 = r1589773 - r1589777;
double r1589779 = 229105.08111828775;
bool r1589780 = r1589767 <= r1589779;
double r1589781 = r1589770 + r1589767;
double r1589782 = r1589767 - r1589781;
double r1589783 = r1589767 * r1589781;
double r1589784 = r1589782 / r1589783;
double r1589785 = r1589780 ? r1589784 : r1589778;
double r1589786 = r1589769 ? r1589778 : r1589785;
return r1589786;
}



Bits error versus x
if x < -6935920363808791.0 or 229105.08111828775 < x Initial program 28.7
rmApplied frac-sub28.0
Simplified28.0
Simplified28.0
Taylor expanded around inf 0.8
Simplified0.8
rmApplied pow10.8
Applied pow10.8
Applied pow-prod-up0.8
Applied pow-flip0.0
Simplified0.0
if -6935920363808791.0 < x < 229105.08111828775Initial program 0.7
rmApplied frac-sub0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x)
:name "2frac (problem 3.3.1)"
(- (/ 1 (+ x 1)) (/ 1 x)))