double f(double x) {
double r34436512 = x;
double r34436513 = 1.0;
double r34436514 = r34436512 + r34436513;
double r34436515 = r34436512 / r34436514;
double r34436516 = r34436512 - r34436513;
double r34436517 = r34436514 / r34436516;
double r34436518 = r34436515 - r34436517;
return r34436518;
}
double f(double x) {
double r34436519 = x;
double r34436520 = -8384.021630376625;
bool r34436521 = r34436519 <= r34436520;
double r34436522 = -1.0;
double r34436523 = r34436519 * r34436519;
double r34436524 = r34436522 / r34436523;
double r34436525 = r34436522 / r34436519;
double r34436526 = r34436525 / r34436523;
double r34436527 = r34436525 + r34436526;
double r34436528 = 3.0;
double r34436529 = r34436527 * r34436528;
double r34436530 = r34436524 + r34436529;
double r34436531 = 12352.79489393538;
bool r34436532 = r34436519 <= r34436531;
double r34436533 = 1.0;
double r34436534 = r34436533 + r34436519;
double r34436535 = r34436519 / r34436534;
double r34436536 = r34436519 - r34436533;
double r34436537 = r34436533 / r34436536;
double r34436538 = r34436537 * r34436534;
double r34436539 = r34436538 * r34436538;
double r34436540 = r34436538 * r34436539;
double r34436541 = cbrt(r34436540);
double r34436542 = r34436535 - r34436541;
double r34436543 = r34436532 ? r34436542 : r34436530;
double r34436544 = r34436521 ? r34436530 : r34436543;
return r34436544;
}
\frac{x}{x + 1} - \frac{x + 1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -8384.021630376625:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-1}{x} + \frac{\frac{-1}{x}}{x \cdot x}\right) \cdot 3\\
\mathbf{elif}\;x \le 12352.79489393538:\\
\;\;\;\;\frac{x}{1 + x} - \sqrt[3]{\left(\frac{1}{x - 1} \cdot \left(1 + x\right)\right) \cdot \left(\left(\frac{1}{x - 1} \cdot \left(1 + x\right)\right) \cdot \left(\frac{1}{x - 1} \cdot \left(1 + x\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{x \cdot x} + \left(\frac{-1}{x} + \frac{\frac{-1}{x}}{x \cdot x}\right) \cdot 3\\
\end{array}


Bits error versus x
if x < -8384.021630376625 or 12352.79489393538 < x Initial program 59.5
rmApplied div-inv59.6
Taylor expanded around -inf 0.3
Simplified0.3
if -8384.021630376625 < x < 12352.79489393538Initial program 0.1
rmApplied div-inv0.1
rmApplied add-cbrt-cube0.1
Final simplification0.2
herbie shell --seed 2019102
(FPCore (x)
:name "Asymptote C"
(- (/ x (+ x 1)) (/ (+ x 1) (- x 1))))