\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -217.646331775989779089286457747220993042:\\
\;\;\;\;-\left(\frac{2}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \left(\frac{\frac{2}{x}}{x} + \frac{2}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}\right)\right)\\
\mathbf{elif}\;x \le 210.2059788759916614253597799688577651978:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{{1}^{3} + {x}^{3}}, x \cdot x + \left(1 \cdot 1 - x \cdot 1\right), \frac{-1}{x - 1}\right)\\
\mathbf{else}:\\
\;\;\;\;-\left(\frac{2}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \left(\frac{\frac{2}{x}}{x} + \frac{2}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}\right)\right)\\
\end{array}double f(double x) {
double r4686603 = 1.0;
double r4686604 = x;
double r4686605 = r4686604 + r4686603;
double r4686606 = r4686603 / r4686605;
double r4686607 = r4686604 - r4686603;
double r4686608 = r4686603 / r4686607;
double r4686609 = r4686606 - r4686608;
return r4686609;
}
double f(double x) {
double r4686610 = x;
double r4686611 = -217.64633177598978;
bool r4686612 = r4686610 <= r4686611;
double r4686613 = 2.0;
double r4686614 = r4686610 * r4686610;
double r4686615 = r4686614 * r4686610;
double r4686616 = r4686615 * r4686615;
double r4686617 = r4686613 / r4686616;
double r4686618 = r4686613 / r4686610;
double r4686619 = r4686618 / r4686610;
double r4686620 = r4686614 * r4686614;
double r4686621 = r4686613 / r4686620;
double r4686622 = r4686619 + r4686621;
double r4686623 = r4686617 + r4686622;
double r4686624 = -r4686623;
double r4686625 = 210.20597887599166;
bool r4686626 = r4686610 <= r4686625;
double r4686627 = 1.0;
double r4686628 = 3.0;
double r4686629 = pow(r4686627, r4686628);
double r4686630 = pow(r4686610, r4686628);
double r4686631 = r4686629 + r4686630;
double r4686632 = r4686627 / r4686631;
double r4686633 = r4686627 * r4686627;
double r4686634 = r4686610 * r4686627;
double r4686635 = r4686633 - r4686634;
double r4686636 = r4686614 + r4686635;
double r4686637 = -r4686627;
double r4686638 = r4686610 - r4686627;
double r4686639 = r4686637 / r4686638;
double r4686640 = fma(r4686632, r4686636, r4686639);
double r4686641 = r4686626 ? r4686640 : r4686624;
double r4686642 = r4686612 ? r4686624 : r4686641;
return r4686642;
}



Bits error versus x
if x < -217.64633177598978 or 210.20597887599166 < x Initial program 28.9
Taylor expanded around inf 0.8
Simplified0.8
rmApplied associate-/r*0.1
if -217.64633177598978 < x < 210.20597887599166Initial program 0.0
rmApplied flip3-+0.0
Applied associate-/r/0.0
Applied fma-neg0.0
Final simplification0.1
herbie shell --seed 2019171 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
(- (/ 1.0 (+ x 1.0)) (/ 1.0 (- x 1.0))))