Average Error: 14.7 → 0.0
Time: 6.2s
Precision: 64
\[\frac{1}{x + 1} - \frac{1}{x - 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -297.814465350097237:\\ \;\;\;\;\frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, {x}^{\left(-2\right)}, 2 \cdot \frac{1}{{x}^{4}}\right)\\ \mathbf{elif}\;x \le 261.48922996888211:\\ \;\;\;\;\sqrt[3]{{\left(\frac{1}{x + 1} - \frac{1}{x - 1}\right)}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-2}{{x}^{6}} - \left(\frac{\frac{2}{x}}{x} + 2 \cdot \frac{1}{{x}^{4}}\right)\\ \end{array}\]
\frac{1}{x + 1} - \frac{1}{x - 1}
\begin{array}{l}
\mathbf{if}\;x \le -297.814465350097237:\\
\;\;\;\;\frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, {x}^{\left(-2\right)}, 2 \cdot \frac{1}{{x}^{4}}\right)\\

\mathbf{elif}\;x \le 261.48922996888211:\\
\;\;\;\;\sqrt[3]{{\left(\frac{1}{x + 1} - \frac{1}{x - 1}\right)}^{3}}\\

\mathbf{else}:\\
\;\;\;\;\frac{-2}{{x}^{6}} - \left(\frac{\frac{2}{x}}{x} + 2 \cdot \frac{1}{{x}^{4}}\right)\\

\end{array}
double f(double x) {
        double r110862 = 1.0;
        double r110863 = x;
        double r110864 = r110863 + r110862;
        double r110865 = r110862 / r110864;
        double r110866 = r110863 - r110862;
        double r110867 = r110862 / r110866;
        double r110868 = r110865 - r110867;
        return r110868;
}

double f(double x) {
        double r110869 = x;
        double r110870 = -297.81446535009724;
        bool r110871 = r110869 <= r110870;
        double r110872 = 2.0;
        double r110873 = -r110872;
        double r110874 = 6.0;
        double r110875 = pow(r110869, r110874);
        double r110876 = r110873 / r110875;
        double r110877 = 2.0;
        double r110878 = -r110877;
        double r110879 = pow(r110869, r110878);
        double r110880 = 1.0;
        double r110881 = 4.0;
        double r110882 = pow(r110869, r110881);
        double r110883 = r110880 / r110882;
        double r110884 = r110872 * r110883;
        double r110885 = fma(r110872, r110879, r110884);
        double r110886 = r110876 - r110885;
        double r110887 = 261.4892299688821;
        bool r110888 = r110869 <= r110887;
        double r110889 = 1.0;
        double r110890 = r110869 + r110889;
        double r110891 = r110889 / r110890;
        double r110892 = r110869 - r110889;
        double r110893 = r110889 / r110892;
        double r110894 = r110891 - r110893;
        double r110895 = 3.0;
        double r110896 = pow(r110894, r110895);
        double r110897 = cbrt(r110896);
        double r110898 = r110872 / r110869;
        double r110899 = r110898 / r110869;
        double r110900 = r110899 + r110884;
        double r110901 = r110876 - r110900;
        double r110902 = r110888 ? r110897 : r110901;
        double r110903 = r110871 ? r110886 : r110902;
        return r110903;
}

Error

Bits error versus x

Derivation

  1. Split input into 3 regimes
  2. if x < -297.81446535009724

    1. Initial program 30.5

      \[\frac{1}{x + 1} - \frac{1}{x - 1}\]
    2. Taylor expanded around inf 0.8

      \[\leadsto \color{blue}{-\left(2 \cdot \frac{1}{{x}^{6}} + \left(2 \cdot \frac{1}{{x}^{2}} + 2 \cdot \frac{1}{{x}^{4}}\right)\right)}\]
    3. Simplified0.8

      \[\leadsto \color{blue}{\frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, \frac{1}{{x}^{2}}, 2 \cdot \frac{1}{{x}^{4}}\right)}\]
    4. Using strategy rm
    5. Applied pow-flip0.0

      \[\leadsto \frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, \color{blue}{{x}^{\left(-2\right)}}, 2 \cdot \frac{1}{{x}^{4}}\right)\]

    if -297.81446535009724 < x < 261.4892299688821

    1. Initial program 0.0

      \[\frac{1}{x + 1} - \frac{1}{x - 1}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube0.0

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\frac{1}{x + 1} - \frac{1}{x - 1}\right) \cdot \left(\frac{1}{x + 1} - \frac{1}{x - 1}\right)\right) \cdot \left(\frac{1}{x + 1} - \frac{1}{x - 1}\right)}}\]
    4. Simplified0.0

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\frac{1}{x + 1} - \frac{1}{x - 1}\right)}^{3}}}\]

    if 261.4892299688821 < x

    1. Initial program 28.3

      \[\frac{1}{x + 1} - \frac{1}{x - 1}\]
    2. Taylor expanded around inf 0.9

      \[\leadsto \color{blue}{-\left(2 \cdot \frac{1}{{x}^{6}} + \left(2 \cdot \frac{1}{{x}^{2}} + 2 \cdot \frac{1}{{x}^{4}}\right)\right)}\]
    3. Simplified0.9

      \[\leadsto \color{blue}{\frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, \frac{1}{{x}^{2}}, 2 \cdot \frac{1}{{x}^{4}}\right)}\]
    4. Using strategy rm
    5. Applied fma-udef0.9

      \[\leadsto \frac{-2}{{x}^{6}} - \color{blue}{\left(2 \cdot \frac{1}{{x}^{2}} + 2 \cdot \frac{1}{{x}^{4}}\right)}\]
    6. Simplified0.1

      \[\leadsto \frac{-2}{{x}^{6}} - \left(\color{blue}{\frac{\frac{2}{x}}{x}} + 2 \cdot \frac{1}{{x}^{4}}\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -297.814465350097237:\\ \;\;\;\;\frac{-2}{{x}^{6}} - \mathsf{fma}\left(2, {x}^{\left(-2\right)}, 2 \cdot \frac{1}{{x}^{4}}\right)\\ \mathbf{elif}\;x \le 261.48922996888211:\\ \;\;\;\;\sqrt[3]{{\left(\frac{1}{x + 1} - \frac{1}{x - 1}\right)}^{3}}\\ \mathbf{else}:\\ \;\;\;\;\frac{-2}{{x}^{6}} - \left(\frac{\frac{2}{x}}{x} + 2 \cdot \frac{1}{{x}^{4}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020065 +o rules:numerics
(FPCore (x)
  :name "Asymptote A"
  :precision binary64
  (- (/ 1 (+ x 1)) (/ 1 (- x 1))))