Average Error: 29.0 → 22.1
Time: 16.6s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -80925173752378880 \lor \neg \left(n \le 196016184.31866574\right):\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{0.5}{x \cdot n} - \mathsf{fma}\left(\frac{\frac{-\log x}{x}}{{n}^{2}}, 0.25, \frac{0.25}{{x}^{2} \cdot n}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)\\ \end{array}\]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;n \le -80925173752378880 \lor \neg \left(n \le 196016184.31866574\right):\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{0.5}{x \cdot n} - \mathsf{fma}\left(\frac{\frac{-\log x}{x}}{{n}^{2}}, 0.25, \frac{0.25}{{x}^{2} \cdot n}\right)\right)\\

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

\end{array}
double f(double x, double n) {
        double r122891 = x;
        double r122892 = 1.0;
        double r122893 = r122891 + r122892;
        double r122894 = n;
        double r122895 = r122892 / r122894;
        double r122896 = pow(r122893, r122895);
        double r122897 = pow(r122891, r122895);
        double r122898 = r122896 - r122897;
        return r122898;
}

double f(double x, double n) {
        double r122899 = n;
        double r122900 = -8.092517375237888e+16;
        bool r122901 = r122899 <= r122900;
        double r122902 = 196016184.31866574;
        bool r122903 = r122899 <= r122902;
        double r122904 = !r122903;
        bool r122905 = r122901 || r122904;
        double r122906 = x;
        double r122907 = 1.0;
        double r122908 = r122906 + r122907;
        double r122909 = r122907 / r122899;
        double r122910 = pow(r122908, r122909);
        double r122911 = sqrt(r122910);
        double r122912 = pow(r122906, r122909);
        double r122913 = sqrt(r122912);
        double r122914 = r122911 + r122913;
        double r122915 = 0.5;
        double r122916 = r122906 * r122899;
        double r122917 = r122915 / r122916;
        double r122918 = log(r122906);
        double r122919 = -r122918;
        double r122920 = r122919 / r122906;
        double r122921 = 2.0;
        double r122922 = pow(r122899, r122921);
        double r122923 = r122920 / r122922;
        double r122924 = 0.25;
        double r122925 = pow(r122906, r122921);
        double r122926 = r122925 * r122899;
        double r122927 = r122924 / r122926;
        double r122928 = fma(r122923, r122924, r122927);
        double r122929 = r122917 - r122928;
        double r122930 = r122914 * r122929;
        double r122931 = r122911 - r122913;
        double r122932 = r122914 * r122931;
        double r122933 = r122905 ? r122930 : r122932;
        return r122933;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 2 regimes
  2. if n < -8.092517375237888e+16 or 196016184.31866574 < n

    1. Initial program 44.4

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

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

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

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

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\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.1

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

    if -8.092517375237888e+16 < n < 196016184.31866574

    1. Initial program 9.6

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -80925173752378880 \lor \neg \left(n \le 196016184.31866574\right):\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{0.5}{x \cdot n} - \mathsf{fma}\left(\frac{\frac{-\log x}{x}}{{n}^{2}}, 0.25, \frac{0.25}{{x}^{2} \cdot n}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)\\ \end{array}\]

Reproduce

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