\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -1.311384526318253:\\
\;\;\;\;-\left(\mathsf{fma}\left(\frac{3}{x}, \frac{\frac{1}{x}}{x}, \frac{\frac{1}{x}}{x}\right) + \frac{3}{x}\right)\\
\mathbf{elif}\;x \le 1.020834055947729:\\
\;\;\;\;\frac{x}{1 + x} - \left(-\mathsf{fma}\left(2, x \cdot x + x, 1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-\left(\mathsf{fma}\left(\frac{3}{x}, \frac{\frac{1}{x}}{x}, \frac{\frac{1}{x}}{x}\right) + \frac{3}{x}\right)\\
\end{array}double f(double x) {
double r4728417 = x;
double r4728418 = 1.0;
double r4728419 = r4728417 + r4728418;
double r4728420 = r4728417 / r4728419;
double r4728421 = r4728417 - r4728418;
double r4728422 = r4728419 / r4728421;
double r4728423 = r4728420 - r4728422;
return r4728423;
}
double f(double x) {
double r4728424 = x;
double r4728425 = -1.311384526318253;
bool r4728426 = r4728424 <= r4728425;
double r4728427 = 3.0;
double r4728428 = r4728427 / r4728424;
double r4728429 = 1.0;
double r4728430 = r4728429 / r4728424;
double r4728431 = r4728430 / r4728424;
double r4728432 = fma(r4728428, r4728431, r4728431);
double r4728433 = r4728432 + r4728428;
double r4728434 = -r4728433;
double r4728435 = 1.020834055947729;
bool r4728436 = r4728424 <= r4728435;
double r4728437 = r4728429 + r4728424;
double r4728438 = r4728424 / r4728437;
double r4728439 = 2.0;
double r4728440 = r4728424 * r4728424;
double r4728441 = r4728440 + r4728424;
double r4728442 = fma(r4728439, r4728441, r4728429);
double r4728443 = -r4728442;
double r4728444 = r4728438 - r4728443;
double r4728445 = r4728436 ? r4728444 : r4728434;
double r4728446 = r4728426 ? r4728434 : r4728445;
return r4728446;
}



Bits error versus x
if x < -1.311384526318253 or 1.020834055947729 < x Initial program 58.6
Taylor expanded around inf 0.7
Simplified0.4
Taylor expanded around 0 0.7
Simplified0.4
if -1.311384526318253 < x < 1.020834055947729Initial program 0.0
Taylor expanded around 0 0.6
Simplified0.6
Final simplification0.5
herbie shell --seed 2019168 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))