\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -12332.7484463211567 \lor \neg \left(x \le 13264.4327344624\right):\\
\;\;\;\;\frac{-1}{{x}^{2}} - 3 \cdot \left(\frac{1}{x} + \frac{1}{{x}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{\frac{x \cdot \left(x - 1\right) - \left(x + 1\right) \cdot \left(x + 1\right)}{x \cdot x - 1 \cdot 1}}\right)\\
\end{array}double f(double x) {
double r134484 = x;
double r134485 = 1.0;
double r134486 = r134484 + r134485;
double r134487 = r134484 / r134486;
double r134488 = r134484 - r134485;
double r134489 = r134486 / r134488;
double r134490 = r134487 - r134489;
return r134490;
}
double f(double x) {
double r134491 = x;
double r134492 = -12332.748446321157;
bool r134493 = r134491 <= r134492;
double r134494 = 13264.4327344624;
bool r134495 = r134491 <= r134494;
double r134496 = !r134495;
bool r134497 = r134493 || r134496;
double r134498 = 1.0;
double r134499 = -r134498;
double r134500 = 2.0;
double r134501 = pow(r134491, r134500);
double r134502 = r134499 / r134501;
double r134503 = 3.0;
double r134504 = 1.0;
double r134505 = r134504 / r134491;
double r134506 = 3.0;
double r134507 = pow(r134491, r134506);
double r134508 = r134504 / r134507;
double r134509 = r134505 + r134508;
double r134510 = r134503 * r134509;
double r134511 = r134502 - r134510;
double r134512 = r134491 - r134498;
double r134513 = r134491 * r134512;
double r134514 = r134491 + r134498;
double r134515 = r134514 * r134514;
double r134516 = r134513 - r134515;
double r134517 = r134491 * r134491;
double r134518 = r134498 * r134498;
double r134519 = r134517 - r134518;
double r134520 = r134516 / r134519;
double r134521 = exp(r134520);
double r134522 = log(r134521);
double r134523 = r134497 ? r134511 : r134522;
return r134523;
}



Bits error versus x
Results
if x < -12332.748446321157 or 13264.4327344624 < x Initial program 59.1
Taylor expanded around inf 0.3
Simplified0.3
if -12332.748446321157 < x < 13264.4327344624Initial program 0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
rmApplied frac-sub0.1
Simplified0.1
Final simplification0.2
herbie shell --seed 2020059
(FPCore (x)
:name "Asymptote C"
:precision binary64
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))