\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11622.72029415746510494500398635864257812 \lor \neg \left(x \le 9628.580561968385154614225029945373535156\right):\\
\;\;\;\;\frac{-1}{x \cdot x} - \left(\frac{3}{{x}^{3}} + \frac{3}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) \cdot \left(x - 1\right)\right) \cdot \left(\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) \cdot \left(x - 1\right)\right) - \left(\left({x}^{3} + {1}^{3}\right) \cdot \left(x + 1\right)\right) \cdot \left(\left({x}^{3} + {1}^{3}\right) \cdot \left(x + 1\right)\right)}{\left({x}^{3} + \left(1 \cdot \left(1 - x\right)\right) \cdot x\right) \cdot \left(x - 1\right) + \left({x}^{3} + {1}^{3}\right) \cdot \left(x + 1\right)}}{\left({x}^{3} + {1}^{3}\right) \cdot \left(x - 1\right)}\\
\end{array}double f(double x) {
double r150649 = x;
double r150650 = 1.0;
double r150651 = r150649 + r150650;
double r150652 = r150649 / r150651;
double r150653 = r150649 - r150650;
double r150654 = r150651 / r150653;
double r150655 = r150652 - r150654;
return r150655;
}
double f(double x) {
double r150656 = x;
double r150657 = -11622.720294157465;
bool r150658 = r150656 <= r150657;
double r150659 = 9628.580561968385;
bool r150660 = r150656 <= r150659;
double r150661 = !r150660;
bool r150662 = r150658 || r150661;
double r150663 = 1.0;
double r150664 = -r150663;
double r150665 = r150656 * r150656;
double r150666 = r150664 / r150665;
double r150667 = 3.0;
double r150668 = 3.0;
double r150669 = pow(r150656, r150668);
double r150670 = r150667 / r150669;
double r150671 = r150667 / r150656;
double r150672 = r150670 + r150671;
double r150673 = r150666 - r150672;
double r150674 = r150663 - r150656;
double r150675 = r150663 * r150674;
double r150676 = r150675 * r150656;
double r150677 = r150669 + r150676;
double r150678 = r150656 - r150663;
double r150679 = r150677 * r150678;
double r150680 = r150679 * r150679;
double r150681 = pow(r150663, r150668);
double r150682 = r150669 + r150681;
double r150683 = r150656 + r150663;
double r150684 = r150682 * r150683;
double r150685 = r150684 * r150684;
double r150686 = r150680 - r150685;
double r150687 = r150679 + r150684;
double r150688 = r150686 / r150687;
double r150689 = r150682 * r150678;
double r150690 = r150688 / r150689;
double r150691 = r150662 ? r150673 : r150690;
return r150691;
}



Bits error versus x
Results
if x < -11622.720294157465 or 9628.580561968385 < x Initial program 59.4
rmApplied flip3-+61.7
Applied associate-/r/61.6
Taylor expanded around inf 0.3
Simplified0.0
if -11622.720294157465 < x < 9628.580561968385Initial program 0.1
rmApplied flip3-+0.1
Applied associate-/r/0.1
rmApplied associate-*l/0.1
Applied frac-sub0.1
Simplified0.1
rmApplied flip--0.1
Final simplification0.1
herbie shell --seed 2019323
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))