\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -11057.134894624804:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\
\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}:\\
\;\;\;\;\left(\frac{-3}{x} + \frac{-1}{x \cdot x}\right) + \frac{-3}{\left(x \cdot x\right) \cdot x}\\
\end{array}double f(double x) {
double r4488280 = x;
double r4488281 = 1.0;
double r4488282 = r4488280 + r4488281;
double r4488283 = r4488280 / r4488282;
double r4488284 = r4488280 - r4488281;
double r4488285 = r4488282 / r4488284;
double r4488286 = r4488283 - r4488285;
return r4488286;
}
double f(double x) {
double r4488287 = x;
double r4488288 = -11057.134894624804;
bool r4488289 = r4488287 <= r4488288;
double r4488290 = -3.0;
double r4488291 = r4488290 / r4488287;
double r4488292 = -1.0;
double r4488293 = r4488287 * r4488287;
double r4488294 = r4488292 / r4488293;
double r4488295 = r4488291 + r4488294;
double r4488296 = r4488293 * r4488287;
double r4488297 = r4488290 / r4488296;
double r4488298 = r4488295 + r4488297;
double r4488299 = 10657.861179308382;
bool r4488300 = r4488287 <= r4488299;
double r4488301 = 1.0;
double r4488302 = r4488287 - r4488301;
double r4488303 = r4488287 * r4488302;
double r4488304 = r4488301 + r4488287;
double r4488305 = r4488304 * r4488304;
double r4488306 = r4488303 - r4488305;
double r4488307 = r4488304 * r4488302;
double r4488308 = r4488306 / r4488307;
double r4488309 = r4488287 / r4488304;
double r4488310 = r4488304 / r4488302;
double r4488311 = r4488309 - r4488310;
double r4488312 = r4488311 * r4488311;
double r4488313 = r4488308 * r4488312;
double r4488314 = cbrt(r4488313);
double r4488315 = r4488300 ? r4488314 : r4488298;
double r4488316 = r4488289 ? r4488298 : r4488315;
return r4488316;
}



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 +o rules:numerics
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))