\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -7470.879892531777841213624924421310424805:\\
\;\;\;\;-\mathsf{fma}\left(\frac{3}{x}, \frac{1}{x \cdot x}, \mathsf{fma}\left(\frac{1}{x \cdot x}, 1, \frac{3}{x}\right)\right)\\
\mathbf{elif}\;x \le 6872.825457982198713580146431922912597656:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \frac{\sqrt[3]{x}}{x + 1}, \left(-\sqrt[3]{\frac{x + 1}{x - 1}}\right) \cdot \left(\sqrt[3]{\frac{x + 1}{x - 1}} \cdot \sqrt[3]{\frac{x + 1}{x - 1}}\right)\right) + \mathsf{fma}\left(-\sqrt[3]{\frac{x + 1}{x - 1}}, \sqrt[3]{\frac{x + 1}{x - 1}} \cdot \sqrt[3]{\frac{x + 1}{x - 1}}, \sqrt[3]{\frac{x + 1}{x - 1}} \cdot \left(\sqrt[3]{\frac{x + 1}{x - 1}} \cdot \sqrt[3]{\frac{x + 1}{x - 1}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-\mathsf{fma}\left(\frac{3}{x}, \frac{1}{x \cdot x}, \mathsf{fma}\left(\frac{1}{x \cdot x}, 1, \frac{3}{x}\right)\right)\\
\end{array}double f(double x) {
double r5997498 = x;
double r5997499 = 1.0;
double r5997500 = r5997498 + r5997499;
double r5997501 = r5997498 / r5997500;
double r5997502 = r5997498 - r5997499;
double r5997503 = r5997500 / r5997502;
double r5997504 = r5997501 - r5997503;
return r5997504;
}
double f(double x) {
double r5997505 = x;
double r5997506 = -7470.879892531778;
bool r5997507 = r5997505 <= r5997506;
double r5997508 = 3.0;
double r5997509 = r5997508 / r5997505;
double r5997510 = 1.0;
double r5997511 = r5997505 * r5997505;
double r5997512 = r5997510 / r5997511;
double r5997513 = 1.0;
double r5997514 = fma(r5997512, r5997513, r5997509);
double r5997515 = fma(r5997509, r5997512, r5997514);
double r5997516 = -r5997515;
double r5997517 = 6872.825457982199;
bool r5997518 = r5997505 <= r5997517;
double r5997519 = cbrt(r5997505);
double r5997520 = r5997519 * r5997519;
double r5997521 = r5997505 + r5997513;
double r5997522 = r5997519 / r5997521;
double r5997523 = r5997505 - r5997513;
double r5997524 = r5997521 / r5997523;
double r5997525 = cbrt(r5997524);
double r5997526 = -r5997525;
double r5997527 = r5997525 * r5997525;
double r5997528 = r5997526 * r5997527;
double r5997529 = fma(r5997520, r5997522, r5997528);
double r5997530 = r5997525 * r5997527;
double r5997531 = fma(r5997526, r5997527, r5997530);
double r5997532 = r5997529 + r5997531;
double r5997533 = r5997518 ? r5997532 : r5997516;
double r5997534 = r5997507 ? r5997516 : r5997533;
return r5997534;
}



Bits error versus x
if x < -7470.879892531778 or 6872.825457982199 < x Initial program 59.3
Taylor expanded around inf 0.4
Simplified0.0
if -7470.879892531778 < x < 6872.825457982199Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied *-un-lft-identity0.1
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied prod-diff0.2
Final simplification0.1
herbie shell --seed 2019170 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))