\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11057.134894624804:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 10657.861179308382:\\
\;\;\;\;\sqrt[3]{\frac{x \cdot \left(x - 1\right) - \left(1 + x\right) \cdot \left(1 + x\right)}{\left(1 + x\right) \cdot \left(x - 1\right)} \cdot \left(\left(\frac{x}{1 + x} - \frac{1 + x}{x - 1}\right) \cdot \left(\frac{x}{1 + x} - \frac{1 + x}{x - 1}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-3}{x} + \frac{\frac{-3}{x}}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r4080333 = x;
double r4080334 = 1.0;
double r4080335 = r4080333 + r4080334;
double r4080336 = r4080333 / r4080335;
double r4080337 = r4080333 - r4080334;
double r4080338 = r4080335 / r4080337;
double r4080339 = r4080336 - r4080338;
return r4080339;
}
double f(double x) {
double r4080340 = x;
double r4080341 = -11057.134894624804;
bool r4080342 = r4080340 <= r4080341;
double r4080343 = -1.0;
double r4080344 = r4080340 * r4080340;
double r4080345 = r4080343 / r4080344;
double r4080346 = -3.0;
double r4080347 = r4080346 / r4080340;
double r4080348 = r4080347 / r4080344;
double r4080349 = r4080347 + r4080348;
double r4080350 = r4080345 + r4080349;
double r4080351 = 10657.861179308382;
bool r4080352 = r4080340 <= r4080351;
double r4080353 = 1.0;
double r4080354 = r4080340 - r4080353;
double r4080355 = r4080340 * r4080354;
double r4080356 = r4080353 + r4080340;
double r4080357 = r4080356 * r4080356;
double r4080358 = r4080355 - r4080357;
double r4080359 = r4080356 * r4080354;
double r4080360 = r4080358 / r4080359;
double r4080361 = r4080340 / r4080356;
double r4080362 = r4080356 / r4080354;
double r4080363 = r4080361 - r4080362;
double r4080364 = r4080363 * r4080363;
double r4080365 = r4080360 * r4080364;
double r4080366 = cbrt(r4080365);
double r4080367 = r4080352 ? r4080366 : r4080350;
double r4080368 = r4080342 ? r4080350 : r4080367;
return r4080368;
}



Bits error versus x
Results
if x < -11057.134894624804 or 10657.861179308382 < x Initial program 59.4
Taylor expanded around inf 0.3
Simplified0.0
if -11057.134894624804 < x < 10657.861179308382Initial program 0.1
rmApplied add-cbrt-cube0.1
rmApplied frac-sub0.1
Final simplification0.1
herbie shell --seed 2019130
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))