\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10766.895377459747:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{-1}{x \cdot x}}{x}, 3, \frac{-1}{x \cdot x} + \frac{-3}{x}\right)\\
\mathbf{elif}\;x \le 7931.624520828369:\\
\;\;\;\;\frac{\frac{x}{1 + x} \cdot \frac{x}{1 + x}}{\frac{x}{1 + x} + \frac{1 + x}{x - 1}} - \frac{\frac{1 + x}{x - 1} \cdot \frac{1 + x}{x - 1}}{\frac{x}{1 + x} + \frac{1 + x}{x - 1}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{-1}{x \cdot x}}{x}, 3, \frac{-1}{x \cdot x} + \frac{-3}{x}\right)\\
\end{array}double f(double x) {
double r4391798 = x;
double r4391799 = 1.0;
double r4391800 = r4391798 + r4391799;
double r4391801 = r4391798 / r4391800;
double r4391802 = r4391798 - r4391799;
double r4391803 = r4391800 / r4391802;
double r4391804 = r4391801 - r4391803;
return r4391804;
}
double f(double x) {
double r4391805 = x;
double r4391806 = -10766.895377459747;
bool r4391807 = r4391805 <= r4391806;
double r4391808 = -1.0;
double r4391809 = r4391805 * r4391805;
double r4391810 = r4391808 / r4391809;
double r4391811 = r4391810 / r4391805;
double r4391812 = 3.0;
double r4391813 = -3.0;
double r4391814 = r4391813 / r4391805;
double r4391815 = r4391810 + r4391814;
double r4391816 = fma(r4391811, r4391812, r4391815);
double r4391817 = 7931.624520828369;
bool r4391818 = r4391805 <= r4391817;
double r4391819 = 1.0;
double r4391820 = r4391819 + r4391805;
double r4391821 = r4391805 / r4391820;
double r4391822 = r4391821 * r4391821;
double r4391823 = r4391805 - r4391819;
double r4391824 = r4391820 / r4391823;
double r4391825 = r4391821 + r4391824;
double r4391826 = r4391822 / r4391825;
double r4391827 = r4391824 * r4391824;
double r4391828 = r4391827 / r4391825;
double r4391829 = r4391826 - r4391828;
double r4391830 = r4391818 ? r4391829 : r4391816;
double r4391831 = r4391807 ? r4391816 : r4391830;
return r4391831;
}



Bits error versus x
if x < -10766.895377459747 or 7931.624520828369 < x Initial program 59.1
Taylor expanded around -inf 0.3
Simplified0.3
Taylor expanded around inf 0.3
Simplified0.0
if -10766.895377459747 < x < 7931.624520828369Initial program 0.1
rmApplied flip--0.1
rmApplied div-sub0.1
Final simplification0.1
herbie shell --seed 2019138 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))