\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -7803.196355276564:\\
\;\;\;\;\frac{-3}{\left(x \cdot x\right) \cdot x} - \left(\frac{3}{x} + \frac{1}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 9656.080272906422:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{\frac{x}{x + 1}} \cdot \sqrt[3]{\frac{x}{x + 1}}, \sqrt[3]{\frac{x}{x + 1}}, \left(x + 1\right) \cdot \frac{-1}{x - 1}\right) + \mathsf{fma}\left(\frac{-1}{x - 1}, x + 1, \left(x + 1\right) \cdot \frac{1}{x - 1}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{-3}{\left(x \cdot x\right) \cdot x} - \left(\frac{3}{x} + \frac{1}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r3238886 = x;
double r3238887 = 1.0;
double r3238888 = r3238886 + r3238887;
double r3238889 = r3238886 / r3238888;
double r3238890 = r3238886 - r3238887;
double r3238891 = r3238888 / r3238890;
double r3238892 = r3238889 - r3238891;
return r3238892;
}
double f(double x) {
double r3238893 = x;
double r3238894 = -7803.196355276564;
bool r3238895 = r3238893 <= r3238894;
double r3238896 = -3.0;
double r3238897 = r3238893 * r3238893;
double r3238898 = r3238897 * r3238893;
double r3238899 = r3238896 / r3238898;
double r3238900 = 3.0;
double r3238901 = r3238900 / r3238893;
double r3238902 = 1.0;
double r3238903 = r3238902 / r3238897;
double r3238904 = r3238901 + r3238903;
double r3238905 = r3238899 - r3238904;
double r3238906 = 9656.080272906422;
bool r3238907 = r3238893 <= r3238906;
double r3238908 = r3238893 + r3238902;
double r3238909 = r3238893 / r3238908;
double r3238910 = cbrt(r3238909);
double r3238911 = r3238910 * r3238910;
double r3238912 = -1.0;
double r3238913 = r3238893 - r3238902;
double r3238914 = r3238912 / r3238913;
double r3238915 = r3238908 * r3238914;
double r3238916 = fma(r3238911, r3238910, r3238915);
double r3238917 = r3238902 / r3238913;
double r3238918 = r3238908 * r3238917;
double r3238919 = fma(r3238914, r3238908, r3238918);
double r3238920 = r3238916 + r3238919;
double r3238921 = r3238907 ? r3238920 : r3238905;
double r3238922 = r3238895 ? r3238905 : r3238921;
return r3238922;
}



Bits error versus x
if x < -7803.196355276564 or 9656.080272906422 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
if -7803.196355276564 < x < 9656.080272906422Initial program 0.1
rmApplied div-inv0.1
Applied add-cube-cbrt0.1
Applied prod-diff0.1
Final simplification0.1
herbie shell --seed 2019149 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))