\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -16169.55925066577:\\
\;\;\;\;\frac{-3}{\left(x \cdot x\right) \cdot x} - \left(\frac{1}{x \cdot x} + \frac{3}{x}\right)\\
\mathbf{elif}\;x \le 14245.787973373435:\\
\;\;\;\;\sqrt[3]{\left(\left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right) \cdot \mathsf{fma}\left(x, \frac{1}{x + 1}, \frac{-\left(x + 1\right)}{x - 1}\right)\right) \cdot \left(\frac{x}{x + 1} - \frac{x + 1}{x - 1}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-3}{\left(x \cdot x\right) \cdot x} - \left(\frac{1}{x \cdot x} + \frac{3}{x}\right)\\
\end{array}double f(double x) {
double r5349875 = x;
double r5349876 = 1.0;
double r5349877 = r5349875 + r5349876;
double r5349878 = r5349875 / r5349877;
double r5349879 = r5349875 - r5349876;
double r5349880 = r5349877 / r5349879;
double r5349881 = r5349878 - r5349880;
return r5349881;
}
double f(double x) {
double r5349882 = x;
double r5349883 = -16169.55925066577;
bool r5349884 = r5349882 <= r5349883;
double r5349885 = -3.0;
double r5349886 = r5349882 * r5349882;
double r5349887 = r5349886 * r5349882;
double r5349888 = r5349885 / r5349887;
double r5349889 = 1.0;
double r5349890 = r5349889 / r5349886;
double r5349891 = 3.0;
double r5349892 = r5349891 / r5349882;
double r5349893 = r5349890 + r5349892;
double r5349894 = r5349888 - r5349893;
double r5349895 = 14245.787973373435;
bool r5349896 = r5349882 <= r5349895;
double r5349897 = r5349882 + r5349889;
double r5349898 = r5349882 / r5349897;
double r5349899 = r5349882 - r5349889;
double r5349900 = r5349897 / r5349899;
double r5349901 = r5349898 - r5349900;
double r5349902 = r5349889 / r5349897;
double r5349903 = -r5349897;
double r5349904 = r5349903 / r5349899;
double r5349905 = fma(r5349882, r5349902, r5349904);
double r5349906 = r5349901 * r5349905;
double r5349907 = r5349906 * r5349901;
double r5349908 = cbrt(r5349907);
double r5349909 = r5349896 ? r5349908 : r5349894;
double r5349910 = r5349884 ? r5349894 : r5349909;
return r5349910;
}



Bits error versus x
if x < -16169.55925066577 or 14245.787973373435 < x Initial program 59.5
rmApplied add-cbrt-cube59.5
Taylor expanded around -inf 0.3
Simplified0.0
if -16169.55925066577 < x < 14245.787973373435Initial program 0.1
rmApplied add-cbrt-cube0.1
rmApplied div-inv0.1
Applied fma-neg0.1
Final simplification0.1
herbie shell --seed 2019144 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))