\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -9583.75219015474613 \lor \neg \left(x \le 9075.83700632324144\right):\\
\;\;\;\;\left(\frac{-1}{{x}^{2}} - \frac{3}{x}\right) - \frac{3}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{{\left({\left(\frac{x}{{x}^{3} + {1}^{3}}\right)}^{3}\right)}^{3} \cdot {\left({\left(1 \cdot \left(1 - x\right) + {x}^{2}\right)}^{3}\right)}^{3} - {\left({\left(\frac{x + 1}{x - 1}\right)}^{3}\right)}^{3}}{\left({\left(\frac{x}{x + 1}\right)}^{6} + {\left(\frac{x + 1}{x - 1}\right)}^{6}\right) + {\left(\frac{x}{x + 1}\right)}^{3} \cdot {\left(\frac{x + 1}{x - 1}\right)}^{3}}}{\frac{x + 1}{x - 1} \cdot \left(\frac{x + 1}{x - 1} + \frac{x}{x + 1}\right) + \frac{x}{x + 1} \cdot \frac{x}{x + 1}}\\
\end{array}double f(double x) {
double r132377 = x;
double r132378 = 1.0;
double r132379 = r132377 + r132378;
double r132380 = r132377 / r132379;
double r132381 = r132377 - r132378;
double r132382 = r132379 / r132381;
double r132383 = r132380 - r132382;
return r132383;
}
double f(double x) {
double r132384 = x;
double r132385 = -9583.752190154746;
bool r132386 = r132384 <= r132385;
double r132387 = 9075.837006323241;
bool r132388 = r132384 <= r132387;
double r132389 = !r132388;
bool r132390 = r132386 || r132389;
double r132391 = 1.0;
double r132392 = -r132391;
double r132393 = 2.0;
double r132394 = pow(r132384, r132393);
double r132395 = r132392 / r132394;
double r132396 = 3.0;
double r132397 = r132396 / r132384;
double r132398 = r132395 - r132397;
double r132399 = 3.0;
double r132400 = pow(r132384, r132399);
double r132401 = r132396 / r132400;
double r132402 = r132398 - r132401;
double r132403 = pow(r132391, r132399);
double r132404 = r132400 + r132403;
double r132405 = r132384 / r132404;
double r132406 = pow(r132405, r132399);
double r132407 = pow(r132406, r132399);
double r132408 = r132391 - r132384;
double r132409 = r132391 * r132408;
double r132410 = r132409 + r132394;
double r132411 = pow(r132410, r132399);
double r132412 = pow(r132411, r132399);
double r132413 = r132407 * r132412;
double r132414 = r132384 + r132391;
double r132415 = r132384 - r132391;
double r132416 = r132414 / r132415;
double r132417 = pow(r132416, r132399);
double r132418 = pow(r132417, r132399);
double r132419 = r132413 - r132418;
double r132420 = r132384 / r132414;
double r132421 = 6.0;
double r132422 = pow(r132420, r132421);
double r132423 = pow(r132416, r132421);
double r132424 = r132422 + r132423;
double r132425 = pow(r132420, r132399);
double r132426 = r132425 * r132417;
double r132427 = r132424 + r132426;
double r132428 = r132419 / r132427;
double r132429 = r132416 + r132420;
double r132430 = r132416 * r132429;
double r132431 = r132420 * r132420;
double r132432 = r132430 + r132431;
double r132433 = r132428 / r132432;
double r132434 = r132390 ? r132402 : r132433;
return r132434;
}



Bits error versus x
Results
if x < -9583.752190154746 or 9075.837006323241 < x Initial program 59.4
Taylor expanded around inf 0.3
Simplified0.0
if -9583.752190154746 < x < 9075.837006323241Initial program 0.1
rmApplied flip3--0.1
Simplified0.1
rmApplied flip3--0.1
Simplified0.1
rmApplied flip3-+0.1
Applied associate-/r/0.1
Applied unpow-prod-down0.1
Applied unpow-prod-down0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020003
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))