\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11444.73524238953541498631238937377929688:\\
\;\;\;\;\left(-\frac{3}{\left(x \cdot x\right) \cdot x}\right) - \left(\frac{3}{x} + \frac{\frac{1}{x}}{x}\right)\\
\mathbf{elif}\;x \le 13113.52674068516171246301382780075073242:\\
\;\;\;\;x \cdot \frac{1}{x + 1} - \frac{x + 1}{x - 1}\\
\mathbf{else}:\\
\;\;\;\;\left(-\frac{3}{\left(x \cdot x\right) \cdot x}\right) - \left(\frac{3}{x} + \frac{\frac{1}{x}}{x}\right)\\
\end{array}double f(double x) {
double r4993681 = x;
double r4993682 = 1.0;
double r4993683 = r4993681 + r4993682;
double r4993684 = r4993681 / r4993683;
double r4993685 = r4993681 - r4993682;
double r4993686 = r4993683 / r4993685;
double r4993687 = r4993684 - r4993686;
return r4993687;
}
double f(double x) {
double r4993688 = x;
double r4993689 = -11444.735242389535;
bool r4993690 = r4993688 <= r4993689;
double r4993691 = 3.0;
double r4993692 = r4993688 * r4993688;
double r4993693 = r4993692 * r4993688;
double r4993694 = r4993691 / r4993693;
double r4993695 = -r4993694;
double r4993696 = r4993691 / r4993688;
double r4993697 = 1.0;
double r4993698 = r4993697 / r4993688;
double r4993699 = r4993698 / r4993688;
double r4993700 = r4993696 + r4993699;
double r4993701 = r4993695 - r4993700;
double r4993702 = 13113.526740685162;
bool r4993703 = r4993688 <= r4993702;
double r4993704 = 1.0;
double r4993705 = r4993688 + r4993697;
double r4993706 = r4993704 / r4993705;
double r4993707 = r4993688 * r4993706;
double r4993708 = r4993688 - r4993697;
double r4993709 = r4993705 / r4993708;
double r4993710 = r4993707 - r4993709;
double r4993711 = r4993703 ? r4993710 : r4993701;
double r4993712 = r4993690 ? r4993701 : r4993711;
return r4993712;
}



Bits error versus x
Results
if x < -11444.735242389535 or 13113.526740685162 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
if -11444.735242389535 < x < 13113.526740685162Initial program 0.1
rmApplied div-inv0.1
Final simplification0.1
herbie shell --seed 2019171
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))