\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10439.15205635957318008877336978912353516 \lor \neg \left(x \le 11917.97074271185010729823261499404907227\right):\\
\;\;\;\;\frac{-\left(\frac{1}{x} + 3\right)}{x} - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left({x}^{3} + x \cdot \left(1 \cdot \left(1 - x\right)\right)\right) - \left(x + 1\right) \cdot \frac{{x}^{3} + {1}^{3}}{x - 1}}{\left(x \cdot x + 1 \cdot \left(1 - x\right)\right) \cdot \left(x + 1\right)}\\
\end{array}double f(double x) {
double r55882 = x;
double r55883 = 1.0;
double r55884 = r55882 + r55883;
double r55885 = r55882 / r55884;
double r55886 = r55882 - r55883;
double r55887 = r55884 / r55886;
double r55888 = r55885 - r55887;
return r55888;
}
double f(double x) {
double r55889 = x;
double r55890 = -10439.152056359573;
bool r55891 = r55889 <= r55890;
double r55892 = 11917.97074271185;
bool r55893 = r55889 <= r55892;
double r55894 = !r55893;
bool r55895 = r55891 || r55894;
double r55896 = 1.0;
double r55897 = r55896 / r55889;
double r55898 = 3.0;
double r55899 = r55897 + r55898;
double r55900 = -r55899;
double r55901 = r55900 / r55889;
double r55902 = 3.0;
double r55903 = pow(r55889, r55902);
double r55904 = r55898 / r55903;
double r55905 = r55901 - r55904;
double r55906 = r55896 - r55889;
double r55907 = r55896 * r55906;
double r55908 = r55889 * r55907;
double r55909 = r55903 + r55908;
double r55910 = r55889 + r55896;
double r55911 = pow(r55896, r55902);
double r55912 = r55903 + r55911;
double r55913 = r55889 - r55896;
double r55914 = r55912 / r55913;
double r55915 = r55910 * r55914;
double r55916 = r55909 - r55915;
double r55917 = r55889 * r55889;
double r55918 = r55917 + r55907;
double r55919 = r55918 * r55910;
double r55920 = r55916 / r55919;
double r55921 = r55895 ? r55905 : r55920;
return r55921;
}



Bits error versus x
Results
if x < -10439.152056359573 or 11917.97074271185 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.3
rmApplied pow10.3
Applied pow10.3
Applied pow-prod-down0.3
Simplified0.0
if -10439.152056359573 < x < 11917.97074271185Initial program 0.1
rmApplied div-inv0.1
rmApplied flip3-+0.1
Applied associate-*l/0.1
Applied frac-sub0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019325
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))