\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11931.4119690201605 \lor \neg \left(x \le 12679.85899306799\right):\\
\;\;\;\;\left(-\frac{1}{x \cdot x}\right) - \left(\frac{3}{{x}^{3}} + \frac{3}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(x \cdot x\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right) - \left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x + 1\right) \cdot \left(x + 1\right)\right)}{\left(\frac{x}{x + 1} + \frac{x + 1}{x - 1}\right) \cdot \left(\left(\left(x + 1\right) \cdot \left(x + 1\right)\right) \cdot \left(\left(x - 1\right) \cdot \left(x - 1\right)\right)\right)}\\
\end{array}double f(double x) {
double r173746 = x;
double r173747 = 1.0;
double r173748 = r173746 + r173747;
double r173749 = r173746 / r173748;
double r173750 = r173746 - r173747;
double r173751 = r173748 / r173750;
double r173752 = r173749 - r173751;
return r173752;
}
double f(double x) {
double r173753 = x;
double r173754 = -11931.41196902016;
bool r173755 = r173753 <= r173754;
double r173756 = 12679.85899306799;
bool r173757 = r173753 <= r173756;
double r173758 = !r173757;
bool r173759 = r173755 || r173758;
double r173760 = 1.0;
double r173761 = r173753 * r173753;
double r173762 = r173760 / r173761;
double r173763 = -r173762;
double r173764 = 3.0;
double r173765 = 3.0;
double r173766 = pow(r173753, r173765);
double r173767 = r173764 / r173766;
double r173768 = r173764 / r173753;
double r173769 = r173767 + r173768;
double r173770 = r173763 - r173769;
double r173771 = r173753 - r173760;
double r173772 = r173771 * r173771;
double r173773 = r173761 * r173772;
double r173774 = r173753 + r173760;
double r173775 = r173774 * r173774;
double r173776 = r173775 * r173775;
double r173777 = r173773 - r173776;
double r173778 = r173753 / r173774;
double r173779 = r173774 / r173771;
double r173780 = r173778 + r173779;
double r173781 = r173775 * r173772;
double r173782 = r173780 * r173781;
double r173783 = r173777 / r173782;
double r173784 = r173759 ? r173770 : r173783;
return r173784;
}



Bits error versus x
Results
if x < -11931.41196902016 or 12679.85899306799 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
if -11931.41196902016 < x < 12679.85899306799Initial program 0.1
rmApplied flip--0.1
rmApplied frac-times0.1
Applied frac-times0.1
Applied frac-sub0.1
Applied associate-/l/0.1
Final simplification0.1
herbie shell --seed 2020047
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))