\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11322.697042010475:\\
\;\;\;\;-\left(\frac{3}{x} + \mathsf{fma}\left(\left(\frac{1}{x}\right), \left(\frac{1}{x}\right), \left(\frac{\frac{3}{x}}{x \cdot x}\right)\right)\right)\\
\mathbf{elif}\;x \le 12771.17250257884:\\
\;\;\;\;\mathsf{fma}\left(x, \left(\frac{1}{1 + x}\right), \left(\left(1 + x\right) \cdot \frac{-1}{x - 1}\right)\right) + \mathsf{fma}\left(\left(\frac{-1}{x - 1}\right), \left(1 + x\right), \left(\left(1 + x\right) \cdot \frac{1}{x - 1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-\left(\frac{3}{x} + \mathsf{fma}\left(\left(\frac{1}{x}\right), \left(\frac{1}{x}\right), \left(\frac{\frac{3}{x}}{x \cdot x}\right)\right)\right)\\
\end{array}double f(double x) {
double r3627158 = x;
double r3627159 = 1.0;
double r3627160 = r3627158 + r3627159;
double r3627161 = r3627158 / r3627160;
double r3627162 = r3627158 - r3627159;
double r3627163 = r3627160 / r3627162;
double r3627164 = r3627161 - r3627163;
return r3627164;
}
double f(double x) {
double r3627165 = x;
double r3627166 = -11322.697042010475;
bool r3627167 = r3627165 <= r3627166;
double r3627168 = 3.0;
double r3627169 = r3627168 / r3627165;
double r3627170 = 1.0;
double r3627171 = r3627170 / r3627165;
double r3627172 = r3627165 * r3627165;
double r3627173 = r3627169 / r3627172;
double r3627174 = fma(r3627171, r3627171, r3627173);
double r3627175 = r3627169 + r3627174;
double r3627176 = -r3627175;
double r3627177 = 12771.17250257884;
bool r3627178 = r3627165 <= r3627177;
double r3627179 = r3627170 + r3627165;
double r3627180 = r3627170 / r3627179;
double r3627181 = -1.0;
double r3627182 = r3627165 - r3627170;
double r3627183 = r3627181 / r3627182;
double r3627184 = r3627179 * r3627183;
double r3627185 = fma(r3627165, r3627180, r3627184);
double r3627186 = r3627170 / r3627182;
double r3627187 = r3627179 * r3627186;
double r3627188 = fma(r3627183, r3627179, r3627187);
double r3627189 = r3627185 + r3627188;
double r3627190 = r3627178 ? r3627189 : r3627176;
double r3627191 = r3627167 ? r3627176 : r3627190;
return r3627191;
}



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