Average Error: 29.4 → 22.1
Time: 1.3m
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -71967423679655.73:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right) + \frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)}\\ \mathbf{elif}\;n \le 17166479087.666496:\\ \;\;\;\;\left({x}^{\left(\frac{\frac{1}{n}}{2}\right)} + {\left(1 + x\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{{\left(1 + x\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right) + \frac{\frac{-1}{2}}{x \cdot \left(x \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 -71967423679655.73:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right) + \frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)}\\

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

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

\end{array}
double f(double x, double n) {
        double r5589231 = x;
        double r5589232 = 1.0;
        double r5589233 = r5589231 + r5589232;
        double r5589234 = n;
        double r5589235 = r5589232 / r5589234;
        double r5589236 = pow(r5589233, r5589235);
        double r5589237 = pow(r5589231, r5589235);
        double r5589238 = r5589236 - r5589237;
        return r5589238;
}

double f(double x, double n) {
        double r5589239 = n;
        double r5589240 = -71967423679655.73;
        bool r5589241 = r5589239 <= r5589240;
        double r5589242 = 1.0;
        double r5589243 = x;
        double r5589244 = r5589243 * r5589239;
        double r5589245 = r5589242 / r5589244;
        double r5589246 = log(r5589243);
        double r5589247 = -r5589246;
        double r5589248 = r5589244 * r5589239;
        double r5589249 = r5589247 / r5589248;
        double r5589250 = r5589245 - r5589249;
        double r5589251 = -0.5;
        double r5589252 = r5589243 * r5589244;
        double r5589253 = r5589251 / r5589252;
        double r5589254 = r5589250 + r5589253;
        double r5589255 = 17166479087.666496;
        bool r5589256 = r5589239 <= r5589255;
        double r5589257 = r5589242 / r5589239;
        double r5589258 = 2.0;
        double r5589259 = r5589257 / r5589258;
        double r5589260 = pow(r5589243, r5589259);
        double r5589261 = r5589242 + r5589243;
        double r5589262 = pow(r5589261, r5589259);
        double r5589263 = r5589260 + r5589262;
        double r5589264 = r5589262 - r5589260;
        double r5589265 = exp(r5589264);
        double r5589266 = log(r5589265);
        double r5589267 = r5589263 * r5589266;
        double r5589268 = r5589256 ? r5589267 : r5589254;
        double r5589269 = r5589241 ? r5589254 : r5589268;
        return r5589269;
}

Error

Bits error versus x

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if n < -71967423679655.73 or 17166479087.666496 < n

    1. Initial program 45.0

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

      \[\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.0

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

    if -71967423679655.73 < n < 17166479087.666496

    1. Initial program 9.2

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied sqr-pow9.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 sqr-pow9.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -71967423679655.73:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right) + \frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)}\\ \mathbf{elif}\;n \le 17166479087.666496:\\ \;\;\;\;\left({x}^{\left(\frac{\frac{1}{n}}{2}\right)} + {\left(1 + x\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{{\left(1 + x\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right) + \frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)}\\ \end{array}\]

Reproduce

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