\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -12597.72366167998370656277984380722045898 \lor \neg \left(x \le 10072.80263363166523049585521221160888672\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot \left(x - 1\right) - \frac{\left(x \cdot x - 1 \cdot 1\right) \cdot \left({x}^{3} + {1}^{3}\right)}{\left(x - 1\right) \cdot \left({x}^{2} + 1 \cdot \left(1 - x\right)\right)}}{x \cdot x - 1 \cdot 1}\\
\end{array}double f(double x) {
double r105913 = x;
double r105914 = 1.0;
double r105915 = r105913 + r105914;
double r105916 = r105913 / r105915;
double r105917 = r105913 - r105914;
double r105918 = r105915 / r105917;
double r105919 = r105916 - r105918;
return r105919;
}
double f(double x) {
double r105920 = x;
double r105921 = -12597.723661679984;
bool r105922 = r105920 <= r105921;
double r105923 = 10072.802633631665;
bool r105924 = r105920 <= r105923;
double r105925 = !r105924;
bool r105926 = r105922 || r105925;
double r105927 = 1.0;
double r105928 = -r105927;
double r105929 = 2.0;
double r105930 = pow(r105920, r105929);
double r105931 = r105928 / r105930;
double r105932 = 3.0;
double r105933 = r105932 / r105920;
double r105934 = r105931 - r105933;
double r105935 = 3.0;
double r105936 = pow(r105920, r105935);
double r105937 = r105932 / r105936;
double r105938 = r105934 - r105937;
double r105939 = r105920 - r105927;
double r105940 = r105920 * r105939;
double r105941 = r105920 * r105920;
double r105942 = r105927 * r105927;
double r105943 = r105941 - r105942;
double r105944 = pow(r105927, r105935);
double r105945 = r105936 + r105944;
double r105946 = r105943 * r105945;
double r105947 = r105927 - r105920;
double r105948 = r105927 * r105947;
double r105949 = r105930 + r105948;
double r105950 = r105939 * r105949;
double r105951 = r105946 / r105950;
double r105952 = r105940 - r105951;
double r105953 = r105952 / r105943;
double r105954 = r105926 ? r105938 : r105953;
return r105954;
}



Bits error versus x
Results
if x < -12597.723661679984 or 10072.802633631665 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
if -12597.723661679984 < x < 10072.802633631665Initial program 0.1
rmApplied frac-sub0.1
Simplified0.1
rmApplied flip-+0.1
Applied flip3-+0.1
Applied frac-times0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019291
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))