\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11803.492419360771:\\
\;\;\;\;-\mathsf{fma}\left(\frac{3}{x}, \frac{1}{x \cdot x}, \frac{1}{x \cdot x} + \frac{3}{x}\right)\\
\mathbf{elif}\;x \le 12922.792445976746:\\
\;\;\;\;\mathsf{fma}\left(-\frac{1}{x - 1}, 1 + x, \left(1 + x\right) \cdot \frac{1}{x - 1}\right) + \mathsf{fma}\left(1, \frac{x}{1 + x}, \left(1 + x\right) \cdot \left(-\frac{1}{x - 1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-\mathsf{fma}\left(\frac{3}{x}, \frac{1}{x \cdot x}, \frac{1}{x \cdot x} + \frac{3}{x}\right)\\
\end{array}double f(double x) {
double r4426019 = x;
double r4426020 = 1.0;
double r4426021 = r4426019 + r4426020;
double r4426022 = r4426019 / r4426021;
double r4426023 = r4426019 - r4426020;
double r4426024 = r4426021 / r4426023;
double r4426025 = r4426022 - r4426024;
return r4426025;
}
double f(double x) {
double r4426026 = x;
double r4426027 = -11803.492419360771;
bool r4426028 = r4426026 <= r4426027;
double r4426029 = 3.0;
double r4426030 = r4426029 / r4426026;
double r4426031 = 1.0;
double r4426032 = r4426026 * r4426026;
double r4426033 = r4426031 / r4426032;
double r4426034 = r4426033 + r4426030;
double r4426035 = fma(r4426030, r4426033, r4426034);
double r4426036 = -r4426035;
double r4426037 = 12922.792445976746;
bool r4426038 = r4426026 <= r4426037;
double r4426039 = r4426026 - r4426031;
double r4426040 = r4426031 / r4426039;
double r4426041 = -r4426040;
double r4426042 = r4426031 + r4426026;
double r4426043 = r4426042 * r4426040;
double r4426044 = fma(r4426041, r4426042, r4426043);
double r4426045 = r4426026 / r4426042;
double r4426046 = r4426042 * r4426041;
double r4426047 = fma(r4426031, r4426045, r4426046);
double r4426048 = r4426044 + r4426047;
double r4426049 = r4426038 ? r4426048 : r4426036;
double r4426050 = r4426028 ? r4426036 : r4426049;
return r4426050;
}



Bits error versus x
if x < -11803.492419360771 or 12922.792445976746 < x Initial program 59.4
Taylor expanded around inf 0.3
Simplified0.0
if -11803.492419360771 < x < 12922.792445976746Initial program 0.1
rmApplied div-inv0.1
Applied *-un-lft-identity0.1
Applied prod-diff0.1
Final simplification0.1
herbie shell --seed 2019164 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))