Average Error: 29.0 → 21.7
Time: 46.1s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -669.2773459285388:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \left(-\frac{\frac{1}{n}}{x} \cdot \frac{\log x}{n}\right)\right) - \frac{\frac{1}{2}}{\log \left(e^{\left(x \cdot x\right) \cdot n}\right)}\\ \mathbf{elif}\;n \le 4227328813.442648:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(x \cdot x\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \left(-\frac{\frac{1}{n}}{x} \cdot \frac{\log x}{n}\right)\right) - \frac{\frac{1}{2}}{\log \left(e^{\left(x \cdot x\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 -669.2773459285388:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \left(-\frac{\frac{1}{n}}{x} \cdot \frac{\log x}{n}\right)\right) - \frac{\frac{1}{2}}{\log \left(e^{\left(x \cdot x\right) \cdot n}\right)}\\

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

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

\end{array}
double f(double x, double n) {
        double r2230508 = x;
        double r2230509 = 1.0;
        double r2230510 = r2230508 + r2230509;
        double r2230511 = n;
        double r2230512 = r2230509 / r2230511;
        double r2230513 = pow(r2230510, r2230512);
        double r2230514 = pow(r2230508, r2230512);
        double r2230515 = r2230513 - r2230514;
        return r2230515;
}

double f(double x, double n) {
        double r2230516 = n;
        double r2230517 = -669.2773459285388;
        bool r2230518 = r2230516 <= r2230517;
        double r2230519 = 1.0;
        double r2230520 = r2230519 / r2230516;
        double r2230521 = x;
        double r2230522 = r2230520 / r2230521;
        double r2230523 = log(r2230521);
        double r2230524 = r2230523 / r2230516;
        double r2230525 = r2230522 * r2230524;
        double r2230526 = -r2230525;
        double r2230527 = r2230522 - r2230526;
        double r2230528 = 0.5;
        double r2230529 = r2230521 * r2230521;
        double r2230530 = r2230529 * r2230516;
        double r2230531 = exp(r2230530);
        double r2230532 = log(r2230531);
        double r2230533 = r2230528 / r2230532;
        double r2230534 = r2230527 - r2230533;
        double r2230535 = 4227328813.442648;
        bool r2230536 = r2230516 <= r2230535;
        double r2230537 = r2230519 + r2230521;
        double r2230538 = pow(r2230537, r2230520);
        double r2230539 = 2.0;
        double r2230540 = r2230520 / r2230539;
        double r2230541 = pow(r2230529, r2230540);
        double r2230542 = r2230538 - r2230541;
        double r2230543 = r2230536 ? r2230542 : r2230534;
        double r2230544 = r2230518 ? r2230534 : r2230543;
        return r2230544;
}

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 < -669.2773459285388 or 4227328813.442648 < n

    1. Initial program 44.5

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

      \[\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. Taylor expanded around inf 32.4

      \[\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)}\]
    5. Simplified31.8

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

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

    if -669.2773459285388 < n < 4227328813.442648

    1. Initial program 7.9

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

      \[\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. Using strategy rm
    5. Applied sqrt-pow17.9

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt{{x}^{\left(\frac{1}{n}\right)}} \cdot \color{blue}{{x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\]
    6. Applied sqrt-pow18.0

      \[\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)}\]
    7. Applied pow-prod-down8.2

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

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

Reproduce

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