Average Error: 29.2 → 21.8
Time: 38.2s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -21135787.307639804:\\ \;\;\;\;\left(\frac{\frac{-1}{2}}{\left(x \cdot n\right) \cdot x} + \frac{\frac{1}{n}}{x}\right) + \frac{\frac{\log x}{x}}{n \cdot n}\\ \mathbf{elif}\;n \le 7615007254.767728:\\ \;\;\;\;\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{\frac{-1}{2}}{\left(x \cdot n\right) \cdot x} + \frac{\frac{1}{n}}{x}\right) + \frac{\frac{\log x}{x}}{n \cdot n}\\ \end{array}\]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;n \le -21135787.307639804:\\
\;\;\;\;\left(\frac{\frac{-1}{2}}{\left(x \cdot n\right) \cdot x} + \frac{\frac{1}{n}}{x}\right) + \frac{\frac{\log x}{x}}{n \cdot n}\\

\mathbf{elif}\;n \le 7615007254.767728:\\
\;\;\;\;\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{\frac{-1}{2}}{\left(x \cdot n\right) \cdot x} + \frac{\frac{1}{n}}{x}\right) + \frac{\frac{\log x}{x}}{n \cdot n}\\

\end{array}
double f(double x, double n) {
        double r2207462 = x;
        double r2207463 = 1.0;
        double r2207464 = r2207462 + r2207463;
        double r2207465 = n;
        double r2207466 = r2207463 / r2207465;
        double r2207467 = pow(r2207464, r2207466);
        double r2207468 = pow(r2207462, r2207466);
        double r2207469 = r2207467 - r2207468;
        return r2207469;
}

double f(double x, double n) {
        double r2207470 = n;
        double r2207471 = -21135787.307639804;
        bool r2207472 = r2207470 <= r2207471;
        double r2207473 = -0.5;
        double r2207474 = x;
        double r2207475 = r2207474 * r2207470;
        double r2207476 = r2207475 * r2207474;
        double r2207477 = r2207473 / r2207476;
        double r2207478 = 1.0;
        double r2207479 = r2207478 / r2207470;
        double r2207480 = r2207479 / r2207474;
        double r2207481 = r2207477 + r2207480;
        double r2207482 = log(r2207474);
        double r2207483 = r2207482 / r2207474;
        double r2207484 = r2207470 * r2207470;
        double r2207485 = r2207483 / r2207484;
        double r2207486 = r2207481 + r2207485;
        double r2207487 = 7615007254.767728;
        bool r2207488 = r2207470 <= r2207487;
        double r2207489 = 2.0;
        double r2207490 = r2207479 / r2207489;
        double r2207491 = pow(r2207474, r2207490);
        double r2207492 = r2207478 + r2207474;
        double r2207493 = pow(r2207492, r2207490);
        double r2207494 = r2207491 + r2207493;
        double r2207495 = r2207493 - r2207491;
        double r2207496 = exp(r2207495);
        double r2207497 = log(r2207496);
        double r2207498 = r2207494 * r2207497;
        double r2207499 = r2207488 ? r2207498 : r2207486;
        double r2207500 = r2207472 ? r2207486 : r2207499;
        return r2207500;
}

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 < -21135787.307639804 or 7615007254.767728 < n

    1. Initial program 44.3

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

      \[\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. Simplified31.3

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

    if -21135787.307639804 < n < 7615007254.767728

    1. Initial program 8.8

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

      \[\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-squares8.8

      \[\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-exp8.9

      \[\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 simplification21.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -21135787.307639804:\\ \;\;\;\;\left(\frac{\frac{-1}{2}}{\left(x \cdot n\right) \cdot x} + \frac{\frac{1}{n}}{x}\right) + \frac{\frac{\log x}{x}}{n \cdot n}\\ \mathbf{elif}\;n \le 7615007254.767728:\\ \;\;\;\;\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{\frac{-1}{2}}{\left(x \cdot n\right) \cdot x} + \frac{\frac{1}{n}}{x}\right) + \frac{\frac{\log x}{x}}{n \cdot n}\\ \end{array}\]

Reproduce

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