Average Error: 29.7 → 19.3
Time: 2.4m
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -286411.88704066107:\\ \;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right))_*\\ \mathbf{elif}\;n \le -1.11912698867685 \cdot 10^{-310}:\\ \;\;\;\;(\left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) + \left(\left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right))_*\\ \mathbf{elif}\;n \le 1962496.7017867004:\\ \;\;\;\;e^{\log \left(e^{\frac{\log_* (1 + x)}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}\\ \mathbf{else}:\\ \;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\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 -286411.88704066107:\\
\;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right))_*\\

\mathbf{elif}\;n \le -1.11912698867685 \cdot 10^{-310}:\\
\;\;\;\;(\left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) + \left(\left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right))_*\\

\mathbf{elif}\;n \le 1962496.7017867004:\\
\;\;\;\;e^{\log \left(e^{\frac{\log_* (1 + x)}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}\\

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

\end{array}
double f(double x, double n) {
        double r10329950 = x;
        double r10329951 = 1.0;
        double r10329952 = r10329950 + r10329951;
        double r10329953 = n;
        double r10329954 = r10329951 / r10329953;
        double r10329955 = pow(r10329952, r10329954);
        double r10329956 = pow(r10329950, r10329954);
        double r10329957 = r10329955 - r10329956;
        return r10329957;
}

double f(double x, double n) {
        double r10329958 = n;
        double r10329959 = -286411.88704066107;
        bool r10329960 = r10329958 <= r10329959;
        double r10329961 = -0.5;
        double r10329962 = x;
        double r10329963 = r10329961 / r10329962;
        double r10329964 = 1.0;
        double r10329965 = r10329962 * r10329958;
        double r10329966 = r10329964 / r10329965;
        double r10329967 = log(r10329962);
        double r10329968 = -r10329967;
        double r10329969 = r10329965 * r10329958;
        double r10329970 = r10329968 / r10329969;
        double r10329971 = r10329966 - r10329970;
        double r10329972 = fma(r10329963, r10329966, r10329971);
        double r10329973 = -1.11912698867685e-310;
        bool r10329974 = r10329958 <= r10329973;
        double r10329975 = r10329964 + r10329962;
        double r10329976 = r10329964 / r10329958;
        double r10329977 = pow(r10329975, r10329976);
        double r10329978 = cbrt(r10329977);
        double r10329979 = r10329978 * r10329978;
        double r10329980 = 2.0;
        double r10329981 = r10329976 / r10329980;
        double r10329982 = pow(r10329962, r10329981);
        double r10329983 = -r10329982;
        double r10329984 = r10329983 * r10329982;
        double r10329985 = fma(r10329979, r10329978, r10329984);
        double r10329986 = 1962496.7017867004;
        bool r10329987 = r10329958 <= r10329986;
        double r10329988 = log1p(r10329962);
        double r10329989 = r10329988 / r10329958;
        double r10329990 = exp(r10329989);
        double r10329991 = pow(r10329962, r10329976);
        double r10329992 = r10329990 - r10329991;
        double r10329993 = log(r10329992);
        double r10329994 = exp(r10329993);
        double r10329995 = r10329987 ? r10329994 : r10329972;
        double r10329996 = r10329974 ? r10329985 : r10329995;
        double r10329997 = r10329960 ? r10329972 : r10329996;
        return r10329997;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if n < -286411.88704066107 or 1962496.7017867004 < n

    1. Initial program 44.9

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Taylor expanded around inf 32.5

      \[\leadsto \color{blue}{\frac{1}{x \cdot n} - \left(\frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}} + \frac{1}{2} \cdot \frac{1}{{x}^{2} \cdot n}\right)}\]
    3. Simplified32.5

      \[\leadsto \color{blue}{(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{n \cdot x}\right) + \left(\frac{1}{n \cdot x} - \frac{-\log x}{n \cdot \left(n \cdot x\right)}\right))_*}\]

    if -286411.88704066107 < n < -1.11912698867685e-310

    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 sqr-pow0.6

      \[\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-cube-cbrt0.6

      \[\leadsto \color{blue}{\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\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 prod-diff0.6

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

      \[\leadsto (\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) + \left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right))_* + \color{blue}{0}\]

    if -1.11912698867685e-310 < n < 1962496.7017867004

    1. Initial program 25.6

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

      \[\leadsto \color{blue}{e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}}\]
    4. Using strategy rm
    5. Applied add-exp-log25.7

      \[\leadsto e^{\log \left({\color{blue}{\left(e^{\log \left(x + 1\right)}\right)}}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}\]
    6. Applied pow-exp25.7

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

      \[\leadsto e^{\log \left(e^{\color{blue}{\frac{\log_* (1 + x)}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification19.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -286411.88704066107:\\ \;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right))_*\\ \mathbf{elif}\;n \le -1.11912698867685 \cdot 10^{-310}:\\ \;\;\;\;(\left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) + \left(\left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right))_*\\ \mathbf{elif}\;n \le 1962496.7017867004:\\ \;\;\;\;e^{\log \left(e^{\frac{\log_* (1 + x)}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}\\ \mathbf{else}:\\ \;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right))_*\\ \end{array}\]

Reproduce

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