Average Error: 30.0 → 22.9
Time: 12.6s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -1.059000321787014 \cdot 10^{-6}:\\ \;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{elif}\;\frac{1}{n} \le 5.0494628055209996 \cdot 10^{-25}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \mathsf{fma}\left(-0.25, \frac{1}{{x}^{2} \cdot n} + \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}, \frac{\frac{0.5}{n}}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot e^{\log \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\\ \end{array}\]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -1.059000321787014 \cdot 10^{-6}:\\
\;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\

\mathbf{elif}\;\frac{1}{n} \le 5.0494628055209996 \cdot 10^{-25}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \mathsf{fma}\left(-0.25, \frac{1}{{x}^{2} \cdot n} + \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}, \frac{\frac{0.5}{n}}{x}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot e^{\log \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\\

\end{array}
double f(double x, double n) {
        double r60924 = x;
        double r60925 = 1.0;
        double r60926 = r60924 + r60925;
        double r60927 = n;
        double r60928 = r60925 / r60927;
        double r60929 = pow(r60926, r60928);
        double r60930 = pow(r60924, r60928);
        double r60931 = r60929 - r60930;
        return r60931;
}

double f(double x, double n) {
        double r60932 = 1.0;
        double r60933 = n;
        double r60934 = r60932 / r60933;
        double r60935 = -1.059000321787014e-06;
        bool r60936 = r60934 <= r60935;
        double r60937 = x;
        double r60938 = r60937 + r60932;
        double r60939 = pow(r60938, r60934);
        double r60940 = pow(r60937, r60934);
        double r60941 = r60939 - r60940;
        double r60942 = exp(r60941);
        double r60943 = log(r60942);
        double r60944 = 5.049462805521e-25;
        bool r60945 = r60934 <= r60944;
        double r60946 = sqrt(r60939);
        double r60947 = 2.0;
        double r60948 = r60934 / r60947;
        double r60949 = pow(r60937, r60948);
        double r60950 = r60946 + r60949;
        double r60951 = 0.25;
        double r60952 = -r60951;
        double r60953 = 1.0;
        double r60954 = pow(r60937, r60947);
        double r60955 = r60954 * r60933;
        double r60956 = r60953 / r60955;
        double r60957 = r60953 / r60937;
        double r60958 = log(r60957);
        double r60959 = pow(r60933, r60947);
        double r60960 = r60937 * r60959;
        double r60961 = r60958 / r60960;
        double r60962 = r60956 + r60961;
        double r60963 = 0.5;
        double r60964 = r60963 / r60933;
        double r60965 = r60964 / r60937;
        double r60966 = fma(r60952, r60962, r60965);
        double r60967 = r60950 * r60966;
        double r60968 = r60946 - r60949;
        double r60969 = log(r60968);
        double r60970 = exp(r60969);
        double r60971 = r60950 * r60970;
        double r60972 = r60945 ? r60967 : r60971;
        double r60973 = r60936 ? r60943 : r60972;
        return r60973;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if (/ 1.0 n) < -1.059000321787014e-06

    1. Initial program 0.5

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied add-log-exp0.9

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{\log \left(e^{{x}^{\left(\frac{1}{n}\right)}}\right)}\]
    4. Applied add-log-exp0.8

      \[\leadsto \color{blue}{\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right)} - \log \left(e^{{x}^{\left(\frac{1}{n}\right)}}\right)\]
    5. Applied diff-log0.8

      \[\leadsto \color{blue}{\log \left(\frac{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}{e^{{x}^{\left(\frac{1}{n}\right)}}}\right)}\]
    6. Simplified0.8

      \[\leadsto \log \color{blue}{\left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)}\]

    if -1.059000321787014e-06 < (/ 1.0 n) < 5.049462805521e-25

    1. Initial program 45.3

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied sqr-pow45.3

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\]
    4. Applied add-sqr-sqrt45.3

      \[\leadsto \color{blue}{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\]
    5. Applied difference-of-squares45.3

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\]
    6. Taylor expanded around inf 33.0

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \color{blue}{\left(0.5 \cdot \frac{1}{x \cdot n} - \left(0.25 \cdot \frac{1}{{x}^{2} \cdot n} + 0.25 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)\right)}\]
    7. Simplified32.4

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \color{blue}{\mathsf{fma}\left(-0.25, \frac{1}{{x}^{2} \cdot n} + \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}, \frac{\frac{0.5}{n}}{x}\right)}\]

    if 5.049462805521e-25 < (/ 1.0 n)

    1. Initial program 27.7

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied sqr-pow27.8

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\]
    4. Applied add-sqr-sqrt27.8

      \[\leadsto \color{blue}{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\]
    5. Applied difference-of-squares27.8

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\]
    6. Using strategy rm
    7. Applied add-exp-log27.8

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \color{blue}{e^{\log \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification22.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -1.059000321787014 \cdot 10^{-6}:\\ \;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{elif}\;\frac{1}{n} \le 5.0494628055209996 \cdot 10^{-25}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \mathsf{fma}\left(-0.25, \frac{1}{{x}^{2} \cdot n} + \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}, \frac{\frac{0.5}{n}}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot e^{\log \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2020033 +o rules:numerics
(FPCore (x n)
  :name "2nthrt (problem 3.4.6)"
  :precision binary64
  (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))