\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10256.035048410798:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\
\mathbf{elif}\;x \le 12063.169734821076:\\
\;\;\;\;\frac{x}{1 + x} - \frac{1 + x}{x - 1}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\
\end{array}double f(double x) {
double r3369007 = x;
double r3369008 = 1.0;
double r3369009 = r3369007 + r3369008;
double r3369010 = r3369007 / r3369009;
double r3369011 = r3369007 - r3369008;
double r3369012 = r3369009 / r3369011;
double r3369013 = r3369010 - r3369012;
return r3369013;
}
double f(double x) {
double r3369014 = x;
double r3369015 = -10256.035048410798;
bool r3369016 = r3369014 <= r3369015;
double r3369017 = -3.0;
double r3369018 = r3369017 / r3369014;
double r3369019 = -1.0;
double r3369020 = r3369014 * r3369014;
double r3369021 = r3369019 / r3369020;
double r3369022 = r3369018 + r3369021;
double r3369023 = r3369020 * r3369014;
double r3369024 = r3369017 / r3369023;
double r3369025 = r3369022 + r3369024;
double r3369026 = 12063.169734821076;
bool r3369027 = r3369014 <= r3369026;
double r3369028 = 1.0;
double r3369029 = r3369028 + r3369014;
double r3369030 = r3369014 / r3369029;
double r3369031 = r3369014 - r3369028;
double r3369032 = r3369029 / r3369031;
double r3369033 = r3369030 - r3369032;
double r3369034 = r3369027 ? r3369033 : r3369025;
double r3369035 = r3369016 ? r3369025 : r3369034;
return r3369035;
}



Bits error versus x
Results
if x < -10256.035048410798 or 12063.169734821076 < x Initial program 59.2
Taylor expanded around inf 0.3
Simplified0.0
if -10256.035048410798 < x < 12063.169734821076Initial program 0.1
rmApplied *-un-lft-identity0.1
Applied associate-/r*0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019129 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))