\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -13568.460963923884 \lor \neg \left(x \le 10580.4331898339569\right):\\
\;\;\;\;\left(-\frac{1}{x \cdot x}\right) - \left(\frac{3}{{x}^{3}} + \frac{3}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) - \left(x + 1\right) \cdot \frac{{x}^{3} + {1}^{3}}{x - 1}}{\left(1 \cdot \left(1 - x\right) + x \cdot x\right) \cdot \left(x + 1\right)}\\
\end{array}double f(double x) {
double r94504 = x;
double r94505 = 1.0;
double r94506 = r94504 + r94505;
double r94507 = r94504 / r94506;
double r94508 = r94504 - r94505;
double r94509 = r94506 / r94508;
double r94510 = r94507 - r94509;
return r94510;
}
double f(double x) {
double r94511 = x;
double r94512 = -13568.460963923884;
bool r94513 = r94511 <= r94512;
double r94514 = 10580.433189833957;
bool r94515 = r94511 <= r94514;
double r94516 = !r94515;
bool r94517 = r94513 || r94516;
double r94518 = 1.0;
double r94519 = r94511 * r94511;
double r94520 = r94518 / r94519;
double r94521 = -r94520;
double r94522 = 3.0;
double r94523 = 3.0;
double r94524 = pow(r94511, r94523);
double r94525 = r94522 / r94524;
double r94526 = r94522 / r94511;
double r94527 = r94525 + r94526;
double r94528 = r94521 - r94527;
double r94529 = r94518 - r94511;
double r94530 = r94518 * r94529;
double r94531 = r94530 * r94511;
double r94532 = r94524 + r94531;
double r94533 = r94511 + r94518;
double r94534 = pow(r94518, r94523);
double r94535 = r94524 + r94534;
double r94536 = r94511 - r94518;
double r94537 = r94535 / r94536;
double r94538 = r94533 * r94537;
double r94539 = r94532 - r94538;
double r94540 = r94530 + r94519;
double r94541 = r94540 * r94533;
double r94542 = r94539 / r94541;
double r94543 = r94517 ? r94528 : r94542;
return r94543;
}



Bits error versus x
Results
if x < -13568.460963923884 or 10580.433189833957 < x Initial program 59.2
Taylor expanded around inf 0.3
Simplified0.0
if -13568.460963923884 < x < 10580.433189833957Initial 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 2020043
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))