\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -12183.867794727486:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{1}{x \cdot x}}{x}, -3, \frac{-3}{x} - \frac{1}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 10675.910301293761:\\
\;\;\;\;\sqrt[3]{\mathsf{fma}\left(\frac{x}{\mathsf{fma}\left(x, x, -1\right)}, x - 1, \frac{-1 - x}{x - 1}\right) \cdot \left(\mathsf{fma}\left(\frac{x}{\mathsf{fma}\left(x, x, -1\right)}, x - 1, \frac{-1 - x}{x - 1}\right) \cdot \mathsf{fma}\left(\frac{x}{\mathsf{fma}\left(x, x, -1\right)}, x - 1, \frac{-1 - x}{x - 1}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{1}{x \cdot x}}{x}, -3, \frac{-3}{x} - \frac{1}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r4202650 = x;
double r4202651 = 1.0;
double r4202652 = r4202650 + r4202651;
double r4202653 = r4202650 / r4202652;
double r4202654 = r4202650 - r4202651;
double r4202655 = r4202652 / r4202654;
double r4202656 = r4202653 - r4202655;
return r4202656;
}
double f(double x) {
double r4202657 = x;
double r4202658 = -12183.867794727486;
bool r4202659 = r4202657 <= r4202658;
double r4202660 = 1.0;
double r4202661 = r4202657 * r4202657;
double r4202662 = r4202660 / r4202661;
double r4202663 = r4202662 / r4202657;
double r4202664 = -3.0;
double r4202665 = r4202664 / r4202657;
double r4202666 = r4202665 - r4202662;
double r4202667 = fma(r4202663, r4202664, r4202666);
double r4202668 = 10675.910301293761;
bool r4202669 = r4202657 <= r4202668;
double r4202670 = -1.0;
double r4202671 = fma(r4202657, r4202657, r4202670);
double r4202672 = r4202657 / r4202671;
double r4202673 = r4202657 - r4202660;
double r4202674 = r4202670 - r4202657;
double r4202675 = r4202674 / r4202673;
double r4202676 = fma(r4202672, r4202673, r4202675);
double r4202677 = r4202676 * r4202676;
double r4202678 = r4202676 * r4202677;
double r4202679 = cbrt(r4202678);
double r4202680 = r4202669 ? r4202679 : r4202667;
double r4202681 = r4202659 ? r4202667 : r4202680;
return r4202681;
}



Bits error versus x
if x < -12183.867794727486 or 10675.910301293761 < x Initial program 59.2
rmApplied flip-+60.5
Applied associate-/r/60.4
Applied fma-neg60.3
Taylor expanded around inf 0.3
Simplified0.0
if -12183.867794727486 < x < 10675.910301293761Initial program 0.1
rmApplied flip-+0.1
Applied associate-/r/0.1
Applied fma-neg0.1
rmApplied add-cbrt-cube0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019146 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))