\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -9041.134741942875:\\
\;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\
\mathbf{elif}\;x \le 8821.768090851323:\\
\;\;\;\;\frac{x}{x + 1} - \frac{\left(x \cdot x\right) \cdot x + 1}{\left(x - 1\right) \cdot \left(\left(x \cdot x + 1\right) - x\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-3}{x}}{x \cdot x} - \left(\frac{1}{x \cdot x} - \frac{-3}{x}\right)\\
\end{array}double f(double x) {
double r62226412 = x;
double r62226413 = 1.0;
double r62226414 = r62226412 + r62226413;
double r62226415 = r62226412 / r62226414;
double r62226416 = r62226412 - r62226413;
double r62226417 = r62226414 / r62226416;
double r62226418 = r62226415 - r62226417;
return r62226418;
}
double f(double x) {
double r62226419 = x;
double r62226420 = -9041.134741942875;
bool r62226421 = r62226419 <= r62226420;
double r62226422 = -3.0;
double r62226423 = r62226422 / r62226419;
double r62226424 = r62226419 * r62226419;
double r62226425 = r62226423 / r62226424;
double r62226426 = 1.0;
double r62226427 = r62226426 / r62226424;
double r62226428 = r62226427 - r62226423;
double r62226429 = r62226425 - r62226428;
double r62226430 = 8821.768090851323;
bool r62226431 = r62226419 <= r62226430;
double r62226432 = r62226419 + r62226426;
double r62226433 = r62226419 / r62226432;
double r62226434 = r62226424 * r62226419;
double r62226435 = r62226434 + r62226426;
double r62226436 = r62226419 - r62226426;
double r62226437 = r62226424 + r62226426;
double r62226438 = r62226437 - r62226419;
double r62226439 = r62226436 * r62226438;
double r62226440 = r62226435 / r62226439;
double r62226441 = r62226433 - r62226440;
double r62226442 = r62226431 ? r62226441 : r62226429;
double r62226443 = r62226421 ? r62226429 : r62226442;
return r62226443;
}



Bits error versus x
Results
if x < -9041.134741942875 or 8821.768090851323 < x Initial program 59.3
rmApplied div-inv59.5
rmApplied add-cbrt-cube59.5
Taylor expanded around inf 0.3
Simplified0.0
if -9041.134741942875 < x < 8821.768090851323Initial program 0.1
rmApplied div-inv0.1
rmApplied flip3-+0.1
Applied frac-times0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019124
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))