\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -247.4892321533008:\\
\;\;\;\;\frac{\frac{\frac{-2}{x \cdot x}}{x \cdot x}}{x \cdot x} + \left(\frac{\frac{-2}{x \cdot x}}{x \cdot x} + \frac{-2}{x \cdot x}\right)\\
\mathbf{elif}\;x \le 240.61147870412702:\\
\;\;\;\;\frac{-1}{-1 + x} + \frac{1}{1 + x}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{-2}{x \cdot x}}{x \cdot x}}{x \cdot x} + \left(\frac{\frac{-2}{x}}{x} + \frac{\frac{-2}{x \cdot x}}{x \cdot x}\right)\\
\end{array}double f(double x) {
double r3754581 = 1.0;
double r3754582 = x;
double r3754583 = r3754582 + r3754581;
double r3754584 = r3754581 / r3754583;
double r3754585 = r3754582 - r3754581;
double r3754586 = r3754581 / r3754585;
double r3754587 = r3754584 - r3754586;
return r3754587;
}
double f(double x) {
double r3754588 = x;
double r3754589 = -247.4892321533008;
bool r3754590 = r3754588 <= r3754589;
double r3754591 = -2.0;
double r3754592 = r3754588 * r3754588;
double r3754593 = r3754591 / r3754592;
double r3754594 = r3754593 / r3754592;
double r3754595 = r3754594 / r3754592;
double r3754596 = r3754594 + r3754593;
double r3754597 = r3754595 + r3754596;
double r3754598 = 240.61147870412702;
bool r3754599 = r3754588 <= r3754598;
double r3754600 = -1.0;
double r3754601 = r3754600 + r3754588;
double r3754602 = r3754600 / r3754601;
double r3754603 = 1.0;
double r3754604 = r3754603 + r3754588;
double r3754605 = r3754603 / r3754604;
double r3754606 = r3754602 + r3754605;
double r3754607 = r3754591 / r3754588;
double r3754608 = r3754607 / r3754588;
double r3754609 = r3754608 + r3754594;
double r3754610 = r3754595 + r3754609;
double r3754611 = r3754599 ? r3754606 : r3754610;
double r3754612 = r3754590 ? r3754597 : r3754611;
return r3754612;
}



Bits error versus x
Results
if x < -247.4892321533008Initial program 28.5
rmApplied add-cube-cbrt50.5
Applied *-un-lft-identity50.5
Applied times-frac52.1
rmApplied sub-neg52.1
Simplified28.5
Taylor expanded around inf 1.0
Simplified1.0
if -247.4892321533008 < x < 240.61147870412702Initial program 0.0
rmApplied add-cube-cbrt0.1
Applied *-un-lft-identity0.1
Applied times-frac0.1
rmApplied sub-neg0.1
Simplified0.0
if 240.61147870412702 < x Initial program 29.6
rmApplied add-cube-cbrt50.7
Applied *-un-lft-identity50.7
Applied times-frac51.9
rmApplied sub-neg51.9
Simplified29.6
Taylor expanded around inf 0.8
Simplified0.8
Taylor expanded around inf 0.8
Simplified0.1
Final simplification0.3
herbie shell --seed 2019130
(FPCore (x)
:name "Asymptote A"
(- (/ 1 (+ x 1)) (/ 1 (- x 1))))