\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -350706.4836362626:\\
\;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{\frac{-3}{x}}{x \cdot x}\right) + \frac{-3}{x}\\
\mathbf{elif}\;x \le 176552.52851234598:\\
\;\;\;\;\left(\left(x + 1\right) \cdot \left(1 - x\right)\right) \cdot \frac{\left(x \cdot 2 + 1\right) - 3 \cdot \left(x \cdot x\right)}{\left(-1 + x \cdot x\right) \cdot \left(\left(-1 + x\right) \cdot \left(1 - x \cdot x\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{-1}{x \cdot x} + \frac{\frac{-3}{x}}{x \cdot x}\right) + \frac{-3}{x}\\
\end{array}double f(double x) {
double r5794537 = x;
double r5794538 = 1.0;
double r5794539 = r5794537 + r5794538;
double r5794540 = r5794537 / r5794539;
double r5794541 = r5794537 - r5794538;
double r5794542 = r5794539 / r5794541;
double r5794543 = r5794540 - r5794542;
return r5794543;
}
double f(double x) {
double r5794544 = x;
double r5794545 = -350706.4836362626;
bool r5794546 = r5794544 <= r5794545;
double r5794547 = -1.0;
double r5794548 = r5794544 * r5794544;
double r5794549 = r5794547 / r5794548;
double r5794550 = -3.0;
double r5794551 = r5794550 / r5794544;
double r5794552 = r5794551 / r5794548;
double r5794553 = r5794549 + r5794552;
double r5794554 = r5794553 + r5794551;
double r5794555 = 176552.52851234598;
bool r5794556 = r5794544 <= r5794555;
double r5794557 = 1.0;
double r5794558 = r5794544 + r5794557;
double r5794559 = r5794557 - r5794544;
double r5794560 = r5794558 * r5794559;
double r5794561 = 2.0;
double r5794562 = r5794544 * r5794561;
double r5794563 = r5794562 + r5794557;
double r5794564 = 3.0;
double r5794565 = r5794564 * r5794548;
double r5794566 = r5794563 - r5794565;
double r5794567 = r5794547 + r5794548;
double r5794568 = r5794547 + r5794544;
double r5794569 = r5794557 - r5794548;
double r5794570 = r5794568 * r5794569;
double r5794571 = r5794567 * r5794570;
double r5794572 = r5794566 / r5794571;
double r5794573 = r5794560 * r5794572;
double r5794574 = r5794556 ? r5794573 : r5794554;
double r5794575 = r5794546 ? r5794554 : r5794574;
return r5794575;
}



Bits error versus x
Results
if x < -350706.4836362626 or 176552.52851234598 < x Initial program 59.6
rmApplied div-inv59.7
Taylor expanded around inf 0.3
Simplified0.0
if -350706.4836362626 < x < 176552.52851234598Initial program 0.2
rmApplied div-inv0.2
rmApplied flip-+0.2
Applied frac-times0.2
Applied frac-sub0.2
Simplified0.2
Simplified0.2
Taylor expanded around 0 0.1
Simplified0.1
rmApplied flip--0.0
Applied associate-*r/0.0
Applied flip-+0.0
Applied frac-times0.0
Applied associate-/r/0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019162
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))