\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -13116.810079769337:\\
\;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\
\mathbf{elif}\;x \le 11473.666639898413:\\
\;\;\;\;\frac{\left(x - 1\right) \cdot x - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(x - 1\right) \cdot \left(1 + x\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{-3}{x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\
\end{array}double f(double x) {
double r4840801 = x;
double r4840802 = 1.0;
double r4840803 = r4840801 + r4840802;
double r4840804 = r4840801 / r4840803;
double r4840805 = r4840801 - r4840802;
double r4840806 = r4840803 / r4840805;
double r4840807 = r4840804 - r4840806;
return r4840807;
}
double f(double x) {
double r4840808 = x;
double r4840809 = -13116.810079769337;
bool r4840810 = r4840808 <= r4840809;
double r4840811 = -1.0;
double r4840812 = r4840808 * r4840808;
double r4840813 = r4840811 / r4840812;
double r4840814 = -3.0;
double r4840815 = r4840814 / r4840808;
double r4840816 = r4840813 + r4840815;
double r4840817 = r4840812 * r4840808;
double r4840818 = r4840814 / r4840817;
double r4840819 = r4840816 + r4840818;
double r4840820 = 11473.666639898413;
bool r4840821 = r4840808 <= r4840820;
double r4840822 = 1.0;
double r4840823 = r4840808 - r4840822;
double r4840824 = r4840823 * r4840808;
double r4840825 = r4840822 + r4840808;
double r4840826 = r4840825 * r4840825;
double r4840827 = r4840824 - r4840826;
double r4840828 = r4840823 * r4840825;
double r4840829 = r4840827 / r4840828;
double r4840830 = r4840821 ? r4840829 : r4840819;
double r4840831 = r4840810 ? r4840819 : r4840830;
return r4840831;
}



Bits error versus x
Results
if x < -13116.810079769337 or 11473.666639898413 < x Initial program 59.2
rmApplied add-log-exp59.2
Taylor expanded around inf 0.3
Simplified0.0
if -13116.810079769337 < x < 11473.666639898413Initial program 0.1
rmApplied frac-sub0.1
Final simplification0.1
herbie shell --seed 2019163
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))