\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -15437.909064845162 \lor \neg \left(x \le 18728.687527369679\right):\\
\;\;\;\;\frac{-\left(5 \cdot \frac{1}{{x}^{2}} + \left({\left(\frac{6}{x}\right)}^{1} + 16 \cdot \frac{1}{{x}^{3}}\right)\right)}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{x + 1} \cdot \frac{x}{x + 1} - \frac{x + 1}{x - 1} \cdot \frac{x + 1}{x - 1}}{\frac{x}{x + 1} + \frac{x + 1}{x - 1}}\\
\end{array}double f(double x) {
double r117886 = x;
double r117887 = 1.0;
double r117888 = r117886 + r117887;
double r117889 = r117886 / r117888;
double r117890 = r117886 - r117887;
double r117891 = r117888 / r117890;
double r117892 = r117889 - r117891;
return r117892;
}
double f(double x) {
double r117893 = x;
double r117894 = -15437.909064845162;
bool r117895 = r117893 <= r117894;
double r117896 = 18728.68752736968;
bool r117897 = r117893 <= r117896;
double r117898 = !r117897;
bool r117899 = r117895 || r117898;
double r117900 = 5.0;
double r117901 = 1.0;
double r117902 = 2.0;
double r117903 = pow(r117893, r117902);
double r117904 = r117901 / r117903;
double r117905 = r117900 * r117904;
double r117906 = 6.0;
double r117907 = r117906 / r117893;
double r117908 = pow(r117907, r117901);
double r117909 = 16.0;
double r117910 = 3.0;
double r117911 = pow(r117893, r117910);
double r117912 = r117901 / r117911;
double r117913 = r117909 * r117912;
double r117914 = r117908 + r117913;
double r117915 = r117905 + r117914;
double r117916 = -r117915;
double r117917 = 1.0;
double r117918 = r117893 + r117917;
double r117919 = r117893 / r117918;
double r117920 = r117893 - r117917;
double r117921 = r117918 / r117920;
double r117922 = r117919 + r117921;
double r117923 = r117916 / r117922;
double r117924 = r117919 * r117919;
double r117925 = r117921 * r117921;
double r117926 = r117924 - r117925;
double r117927 = r117926 / r117922;
double r117928 = r117899 ? r117923 : r117927;
return r117928;
}



Bits error versus x
Results
if x < -15437.909064845162 or 18728.68752736968 < x Initial program 59.5
rmApplied flip--59.5
Taylor expanded around inf 0.3
rmApplied pow10.3
Applied pow10.3
Applied pow-prod-down0.3
Simplified0.0
if -15437.909064845162 < x < 18728.68752736968Initial program 0.1
rmApplied flip--0.1
Final simplification0.1
herbie shell --seed 2020046 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))