\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(\left(\frac{1}{{x}^{2}} + \frac{3}{{x}^{3}}\right) + \frac{3}{x}\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 r208686 = x;
double r208687 = 1.0;
double r208688 = r208686 + r208687;
double r208689 = r208686 / r208688;
double r208690 = r208686 - r208687;
double r208691 = r208688 / r208690;
double r208692 = r208689 - r208691;
return r208692;
}
double f(double x) {
double r208693 = x;
double r208694 = -10645.547231578275;
bool r208695 = r208693 <= r208694;
double r208696 = 9789.556568540302;
bool r208697 = r208693 <= r208696;
double r208698 = !r208697;
bool r208699 = r208695 || r208698;
double r208700 = 1.0;
double r208701 = 2.0;
double r208702 = pow(r208693, r208701);
double r208703 = r208700 / r208702;
double r208704 = 3.0;
double r208705 = 3.0;
double r208706 = pow(r208693, r208705);
double r208707 = r208704 / r208706;
double r208708 = r208703 + r208707;
double r208709 = r208704 / r208693;
double r208710 = r208708 + r208709;
double r208711 = -r208710;
double r208712 = pow(r208700, r208705);
double r208713 = r208706 + r208712;
double r208714 = r208693 / r208713;
double r208715 = r208693 * r208693;
double r208716 = r208700 * r208700;
double r208717 = r208693 * r208700;
double r208718 = r208716 - r208717;
double r208719 = r208715 + r208718;
double r208720 = r208714 * r208719;
double r208721 = r208693 + r208700;
double r208722 = r208693 - r208700;
double r208723 = r208721 / r208722;
double r208724 = r208720 - r208723;
double r208725 = pow(r208724, r208705);
double r208726 = cbrt(r208725);
double r208727 = r208699 ? r208711 : r208726;
return r208727;
}



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
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))