\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -10736.40438136704869975801557302474975586:\\
\;\;\;\;\left(\left(-\log \left(e^{\frac{3}{\left(x \cdot x\right) \cdot x}}\right)\right) - \frac{1}{x \cdot x}\right) - \frac{3}{x}\\
\mathbf{elif}\;x \le 9434.995202559312019729986786842346191406:\\
\;\;\;\;\frac{x}{x + 1} - \frac{{x}^{3} + {1}^{3}}{\left(x - 1\right) \cdot \left(x \cdot x + \left(1 - x\right) \cdot 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(-\log \left(e^{\frac{3}{\left(x \cdot x\right) \cdot x}}\right)\right) - \frac{1}{x \cdot x}\right) - \frac{3}{x}\\
\end{array}double f(double x) {
double r6279490 = x;
double r6279491 = 1.0;
double r6279492 = r6279490 + r6279491;
double r6279493 = r6279490 / r6279492;
double r6279494 = r6279490 - r6279491;
double r6279495 = r6279492 / r6279494;
double r6279496 = r6279493 - r6279495;
return r6279496;
}
double f(double x) {
double r6279497 = x;
double r6279498 = -10736.404381367049;
bool r6279499 = r6279497 <= r6279498;
double r6279500 = 3.0;
double r6279501 = r6279497 * r6279497;
double r6279502 = r6279501 * r6279497;
double r6279503 = r6279500 / r6279502;
double r6279504 = exp(r6279503);
double r6279505 = log(r6279504);
double r6279506 = -r6279505;
double r6279507 = 1.0;
double r6279508 = r6279507 / r6279501;
double r6279509 = r6279506 - r6279508;
double r6279510 = r6279500 / r6279497;
double r6279511 = r6279509 - r6279510;
double r6279512 = 9434.995202559312;
bool r6279513 = r6279497 <= r6279512;
double r6279514 = r6279497 + r6279507;
double r6279515 = r6279497 / r6279514;
double r6279516 = 3.0;
double r6279517 = pow(r6279497, r6279516);
double r6279518 = pow(r6279507, r6279516);
double r6279519 = r6279517 + r6279518;
double r6279520 = r6279497 - r6279507;
double r6279521 = r6279507 - r6279497;
double r6279522 = r6279521 * r6279507;
double r6279523 = r6279501 + r6279522;
double r6279524 = r6279520 * r6279523;
double r6279525 = r6279519 / r6279524;
double r6279526 = r6279515 - r6279525;
double r6279527 = r6279513 ? r6279526 : r6279511;
double r6279528 = r6279499 ? r6279511 : r6279527;
return r6279528;
}



Bits error versus x
Results
if x < -10736.404381367049 or 9434.995202559312 < x Initial program 59.3
Taylor expanded around inf 0.3
Simplified0.0
rmApplied add-log-exp0.1
if -10736.404381367049 < x < 9434.995202559312Initial program 0.1
rmApplied flip3-+0.1
Applied associate-/l/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019170
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))