\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10645.547231578275 \lor \neg \left(x \le 9789.5565685403017\right):\\
\;\;\;\;-\left(\frac{3}{x} + \left(\frac{3}{{x}^{3}} + \frac{1}{x \cdot x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{{\left(\frac{x}{{x}^{3} + {1}^{3}} \cdot \left(x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)\right) - \frac{x + 1}{x - 1}\right)}^{3}}\\
\end{array}double f(double x) {
double r169505 = x;
double r169506 = 1.0;
double r169507 = r169505 + r169506;
double r169508 = r169505 / r169507;
double r169509 = r169505 - r169506;
double r169510 = r169507 / r169509;
double r169511 = r169508 - r169510;
return r169511;
}
double f(double x) {
double r169512 = x;
double r169513 = -10645.547231578275;
bool r169514 = r169512 <= r169513;
double r169515 = 9789.556568540302;
bool r169516 = r169512 <= r169515;
double r169517 = !r169516;
bool r169518 = r169514 || r169517;
double r169519 = 3.0;
double r169520 = r169519 / r169512;
double r169521 = 3.0;
double r169522 = pow(r169512, r169521);
double r169523 = r169519 / r169522;
double r169524 = 1.0;
double r169525 = r169512 * r169512;
double r169526 = r169524 / r169525;
double r169527 = r169523 + r169526;
double r169528 = r169520 + r169527;
double r169529 = -r169528;
double r169530 = pow(r169524, r169521);
double r169531 = r169522 + r169530;
double r169532 = r169512 / r169531;
double r169533 = r169524 * r169524;
double r169534 = r169512 * r169524;
double r169535 = r169533 - r169534;
double r169536 = r169525 + r169535;
double r169537 = r169532 * r169536;
double r169538 = r169512 + r169524;
double r169539 = r169512 - r169524;
double r169540 = r169538 / r169539;
double r169541 = r169537 - r169540;
double r169542 = pow(r169541, r169521);
double r169543 = cbrt(r169542);
double r169544 = r169518 ? r169529 : r169543;
return r169544;
}



Bits error versus x
Results
if x < -10645.547231578275 or 9789.556568540302 < x Initial program 59.2
rmApplied add-cbrt-cube59.2
Simplified59.2
rmApplied add-cube-cbrt59.2
Simplified59.2
Taylor expanded around inf 0.3
Simplified0.0
if -10645.547231578275 < x < 9789.556568540302Initial program 0.1
rmApplied add-cbrt-cube0.1
Simplified0.1
rmApplied flip3-+0.1
Applied associate-/r/0.1
Final simplification0.1
herbie shell --seed 2020045 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))