\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10835.479300405816:\\
\;\;\;\;\frac{-3}{x} + \left(\frac{-3}{\left(x \cdot x\right) \cdot x} + \frac{-1}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 13418.220827984447:\\
\;\;\;\;\mathsf{fma}\left(\frac{-1}{x - 1}, x + 1, \frac{x + 1}{x - 1}\right) + \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{-3}{x} + \left(\frac{-3}{\left(x \cdot x\right) \cdot x} + \frac{-1}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r1549689 = x;
double r1549690 = 1.0;
double r1549691 = r1549689 + r1549690;
double r1549692 = r1549689 / r1549691;
double r1549693 = r1549689 - r1549690;
double r1549694 = r1549691 / r1549693;
double r1549695 = r1549692 - r1549694;
return r1549695;
}
double f(double x) {
double r1549696 = x;
double r1549697 = -10835.479300405816;
bool r1549698 = r1549696 <= r1549697;
double r1549699 = -3.0;
double r1549700 = r1549699 / r1549696;
double r1549701 = r1549696 * r1549696;
double r1549702 = r1549701 * r1549696;
double r1549703 = r1549699 / r1549702;
double r1549704 = -1.0;
double r1549705 = r1549704 / r1549701;
double r1549706 = r1549703 + r1549705;
double r1549707 = r1549700 + r1549706;
double r1549708 = 13418.220827984447;
bool r1549709 = r1549696 <= r1549708;
double r1549710 = 1.0;
double r1549711 = r1549696 - r1549710;
double r1549712 = r1549704 / r1549711;
double r1549713 = r1549696 + r1549710;
double r1549714 = r1549713 / r1549711;
double r1549715 = fma(r1549712, r1549713, r1549714);
double r1549716 = r1549696 / r1549713;
double r1549717 = r1549716 - r1549714;
double r1549718 = r1549715 + r1549717;
double r1549719 = r1549709 ? r1549718 : r1549707;
double r1549720 = r1549698 ? r1549707 : r1549719;
return r1549720;
}



Bits error versus x
if x < -10835.479300405816 or 13418.220827984447 < x Initial program 59.2
Taylor expanded around inf 0.3
Simplified0.0
if -10835.479300405816 < x < 13418.220827984447Initial program 0.1
rmApplied div-inv0.1
Applied add-sqr-sqrt30.5
Applied prod-diff30.5
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019156 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))