\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -8089.074957308726880000904202461242675781:\\
\;\;\;\;-\mathsf{fma}\left(\frac{3}{x}, \frac{1}{x \cdot x}, \frac{3}{x} + \frac{1}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 8600.582868753155707963742315769195556641:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \frac{\sqrt[3]{x}}{x + 1}, \frac{-1}{\frac{x - 1}{x + 1}}\right)\\
\mathbf{else}:\\
\;\;\;\;-\mathsf{fma}\left(\frac{3}{x}, \frac{1}{x \cdot x}, \frac{3}{x} + \frac{1}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r11474677 = x;
double r11474678 = 1.0;
double r11474679 = r11474677 + r11474678;
double r11474680 = r11474677 / r11474679;
double r11474681 = r11474677 - r11474678;
double r11474682 = r11474679 / r11474681;
double r11474683 = r11474680 - r11474682;
return r11474683;
}
double f(double x) {
double r11474684 = x;
double r11474685 = -8089.074957308727;
bool r11474686 = r11474684 <= r11474685;
double r11474687 = 3.0;
double r11474688 = r11474687 / r11474684;
double r11474689 = 1.0;
double r11474690 = r11474684 * r11474684;
double r11474691 = r11474689 / r11474690;
double r11474692 = 1.0;
double r11474693 = r11474692 / r11474690;
double r11474694 = r11474688 + r11474693;
double r11474695 = fma(r11474688, r11474691, r11474694);
double r11474696 = -r11474695;
double r11474697 = 8600.582868753156;
bool r11474698 = r11474684 <= r11474697;
double r11474699 = cbrt(r11474684);
double r11474700 = r11474699 * r11474699;
double r11474701 = r11474684 + r11474692;
double r11474702 = r11474699 / r11474701;
double r11474703 = -1.0;
double r11474704 = r11474684 - r11474692;
double r11474705 = r11474704 / r11474701;
double r11474706 = r11474703 / r11474705;
double r11474707 = fma(r11474700, r11474702, r11474706);
double r11474708 = r11474698 ? r11474707 : r11474696;
double r11474709 = r11474686 ? r11474696 : r11474708;
return r11474709;
}



Bits error versus x
if x < -8089.074957308727 or 8600.582868753156 < x Initial program 59.2
Taylor expanded around inf 0.3
Simplified0.0
if -8089.074957308727 < x < 8600.582868753156Initial program 0.1
rmApplied clear-num0.1
rmApplied *-un-lft-identity0.1
Applied add-cube-cbrt0.1
Applied times-frac0.1
Applied fma-neg0.1
Final simplification0.1
herbie shell --seed 2019173 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))