\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -15094.517806336768:\\
\;\;\;\;\left(\frac{\sqrt[3]{-1}}{x \cdot x} - \frac{3}{x} \cdot \frac{1}{x \cdot x}\right) - \frac{3}{x}\\
\mathbf{elif}\;x \le 11782.052645302434:\\
\;\;\;\;(x \cdot \left(\frac{1}{x + 1}\right) + \left(-\frac{x + 1}{x - 1}\right))_*\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt[3]{-1}}{x \cdot x} - \frac{3}{x} \cdot \frac{1}{x \cdot x}\right) - \frac{3}{x}\\
\end{array}double f(double x) {
double r26283171 = x;
double r26283172 = 1.0;
double r26283173 = r26283171 + r26283172;
double r26283174 = r26283171 / r26283173;
double r26283175 = r26283171 - r26283172;
double r26283176 = r26283173 / r26283175;
double r26283177 = r26283174 - r26283176;
return r26283177;
}
double f(double x) {
double r26283178 = x;
double r26283179 = -15094.517806336768;
bool r26283180 = r26283178 <= r26283179;
double r26283181 = -1.0;
double r26283182 = cbrt(r26283181);
double r26283183 = r26283178 * r26283178;
double r26283184 = r26283182 / r26283183;
double r26283185 = 3.0;
double r26283186 = r26283185 / r26283178;
double r26283187 = 1.0;
double r26283188 = r26283187 / r26283183;
double r26283189 = r26283186 * r26283188;
double r26283190 = r26283184 - r26283189;
double r26283191 = r26283190 - r26283186;
double r26283192 = 11782.052645302434;
bool r26283193 = r26283178 <= r26283192;
double r26283194 = r26283178 + r26283187;
double r26283195 = r26283187 / r26283194;
double r26283196 = r26283178 - r26283187;
double r26283197 = r26283194 / r26283196;
double r26283198 = -r26283197;
double r26283199 = fma(r26283178, r26283195, r26283198);
double r26283200 = r26283193 ? r26283199 : r26283191;
double r26283201 = r26283180 ? r26283191 : r26283200;
return r26283201;
}



Bits error versus x
if x < -15094.517806336768 or 11782.052645302434 < x Initial program 59.1
Taylor expanded around -inf 0.3
Simplified0.3
rmApplied add-cbrt-cube0.3
Applied add-cbrt-cube0.3
Applied cbrt-unprod0.3
Applied add-cbrt-cube0.3
Applied cbrt-undiv0.3
Simplified0.3
Taylor expanded around inf 0.3
Simplified0.0
rmApplied fma-udef0.0
Applied associate--r+0.0
if -15094.517806336768 < x < 11782.052645302434Initial program 0.1
rmApplied div-inv0.1
Applied fma-neg0.1
Final simplification0.0
herbie shell --seed 2019119 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))