\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -247.204822595503:\\
\;\;\;\;\mathsf{fma}\left(-2, {x}^{-2} + \frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)}, \frac{-2}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}\right)\\
\mathbf{elif}\;x \le 223.76966427677394:\\
\;\;\;\;\left(\frac{1}{1 + x} - \frac{1 + x}{\mathsf{fma}\left(x, x, -1\right)}\right) + \mathsf{fma}\left(\frac{-1}{\mathsf{fma}\left(x, x, -1\right)}, 1 + x, \frac{1 + x}{\mathsf{fma}\left(x, x, -1\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-2, {x}^{-2} + \frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)}, \frac{-2}{\left(x \cdot x\right) \cdot \left(x \cdot x\right)}\right)\\
\end{array}double f(double x) {
double r6293050 = 1.0;
double r6293051 = x;
double r6293052 = r6293051 + r6293050;
double r6293053 = r6293050 / r6293052;
double r6293054 = r6293051 - r6293050;
double r6293055 = r6293050 / r6293054;
double r6293056 = r6293053 - r6293055;
return r6293056;
}
double f(double x) {
double r6293057 = x;
double r6293058 = -247.204822595503;
bool r6293059 = r6293057 <= r6293058;
double r6293060 = -2.0;
double r6293061 = pow(r6293057, r6293060);
double r6293062 = 1.0;
double r6293063 = r6293057 * r6293057;
double r6293064 = r6293063 * r6293063;
double r6293065 = r6293064 * r6293063;
double r6293066 = r6293062 / r6293065;
double r6293067 = r6293061 + r6293066;
double r6293068 = r6293060 / r6293064;
double r6293069 = fma(r6293060, r6293067, r6293068);
double r6293070 = 223.76966427677394;
bool r6293071 = r6293057 <= r6293070;
double r6293072 = r6293062 + r6293057;
double r6293073 = r6293062 / r6293072;
double r6293074 = -1.0;
double r6293075 = fma(r6293057, r6293057, r6293074);
double r6293076 = r6293072 / r6293075;
double r6293077 = r6293073 - r6293076;
double r6293078 = r6293074 / r6293075;
double r6293079 = fma(r6293078, r6293072, r6293076);
double r6293080 = r6293077 + r6293079;
double r6293081 = r6293071 ? r6293080 : r6293069;
double r6293082 = r6293059 ? r6293069 : r6293081;
return r6293082;
}



Bits error versus x
if x < -247.204822595503 or 223.76966427677394 < x Initial program 29.8
Taylor expanded around inf 0.9
Simplified0.9
rmApplied pow10.9
Applied pow10.9
Applied pow-prod-up0.9
Applied pow-flip0.0
Simplified0.0
if -247.204822595503 < x < 223.76966427677394Initial program 0.0
rmApplied flip--0.0
Applied associate-/r/0.0
Applied *-un-lft-identity0.0
Applied add-cube-cbrt0.0
Applied times-frac0.0
Applied prod-diff0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019158 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
(- (/ 1 (+ x 1)) (/ 1 (- x 1))))