\frac{1}{x + 1} - \frac{1}{x - 1}\begin{array}{l}
\mathbf{if}\;x \le -213.48879909880657 \lor \neg \left(x \le 226.65001029383706\right):\\
\;\;\;\;\left(-\frac{2}{{x}^{6}}\right) - \left(\frac{\frac{2}{x}}{x} + \frac{2}{{x}^{4}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{{x}^{3} + {1}^{3}}, \mathsf{fma}\left(x, x, 1 \cdot \left(1 - x\right)\right), \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right) \cdot \left(-\frac{1}{{x}^{3} - {1}^{3}}\right)\right) + \frac{1}{{x}^{3} - {1}^{3}} \cdot \left(\left(-\mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right) + \mathsf{fma}\left(x, x, \left(x + 1\right) \cdot 1\right)\right)\\
\end{array}double f(double x) {
double r113877 = 1.0;
double r113878 = x;
double r113879 = r113878 + r113877;
double r113880 = r113877 / r113879;
double r113881 = r113878 - r113877;
double r113882 = r113877 / r113881;
double r113883 = r113880 - r113882;
return r113883;
}
double f(double x) {
double r113884 = x;
double r113885 = -213.48879909880657;
bool r113886 = r113884 <= r113885;
double r113887 = 226.65001029383706;
bool r113888 = r113884 <= r113887;
double r113889 = !r113888;
bool r113890 = r113886 || r113889;
double r113891 = 2.0;
double r113892 = 6.0;
double r113893 = pow(r113884, r113892);
double r113894 = r113891 / r113893;
double r113895 = -r113894;
double r113896 = r113891 / r113884;
double r113897 = r113896 / r113884;
double r113898 = 4.0;
double r113899 = pow(r113884, r113898);
double r113900 = r113891 / r113899;
double r113901 = r113897 + r113900;
double r113902 = r113895 - r113901;
double r113903 = 1.0;
double r113904 = 3.0;
double r113905 = pow(r113884, r113904);
double r113906 = pow(r113903, r113904);
double r113907 = r113905 + r113906;
double r113908 = r113903 / r113907;
double r113909 = r113903 - r113884;
double r113910 = r113903 * r113909;
double r113911 = fma(r113884, r113884, r113910);
double r113912 = r113884 + r113903;
double r113913 = r113912 * r113903;
double r113914 = fma(r113884, r113884, r113913);
double r113915 = r113905 - r113906;
double r113916 = r113903 / r113915;
double r113917 = -r113916;
double r113918 = r113914 * r113917;
double r113919 = fma(r113908, r113911, r113918);
double r113920 = -r113914;
double r113921 = r113920 + r113914;
double r113922 = r113916 * r113921;
double r113923 = r113919 + r113922;
double r113924 = r113890 ? r113902 : r113923;
return r113924;
}



Bits error versus x
if x < -213.48879909880657 or 226.65001029383706 < x Initial program 28.6
Taylor expanded around inf 0.7
Simplified0.7
rmApplied associate-/r*0.1
if -213.48879909880657 < x < 226.65001029383706Initial program 0.0
rmApplied flip3--0.0
Applied associate-/r/0.0
Applied flip3-+0.0
Applied associate-/r/0.0
Applied prod-diff0.0
Simplified0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019199 +o rules:numerics
(FPCore (x)
:name "Asymptote A"
(- (/ 1.0 (+ x 1.0)) (/ 1.0 (- x 1.0))))