Average Error: 29.4 → 22.6
Time: 18.7s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -7.4837822090773658 \cdot 10^{-6}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\\ \mathbf{elif}\;\frac{1}{n} \le 4.48809048117863523 \cdot 10^{-20}:\\ \;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}}\\ \end{array}\]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -7.4837822090773658 \cdot 10^{-6}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\\

\mathbf{elif}\;\frac{1}{n} \le 4.48809048117863523 \cdot 10^{-20}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\

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

\end{array}
double f(double x, double n) {
        double r65489 = x;
        double r65490 = 1.0;
        double r65491 = r65489 + r65490;
        double r65492 = n;
        double r65493 = r65490 / r65492;
        double r65494 = pow(r65491, r65493);
        double r65495 = pow(r65489, r65493);
        double r65496 = r65494 - r65495;
        return r65496;
}

double f(double x, double n) {
        double r65497 = 1.0;
        double r65498 = n;
        double r65499 = r65497 / r65498;
        double r65500 = -7.483782209077366e-06;
        bool r65501 = r65499 <= r65500;
        double r65502 = x;
        double r65503 = r65502 + r65497;
        double r65504 = pow(r65503, r65499);
        double r65505 = sqrt(r65504);
        double r65506 = 2.0;
        double r65507 = r65499 / r65506;
        double r65508 = pow(r65502, r65507);
        double r65509 = r65505 + r65508;
        double r65510 = r65505 - r65508;
        double r65511 = exp(r65510);
        double r65512 = log(r65511);
        double r65513 = r65509 * r65512;
        double r65514 = 4.488090481178635e-20;
        bool r65515 = r65499 <= r65514;
        double r65516 = r65497 / r65502;
        double r65517 = 1.0;
        double r65518 = r65517 / r65498;
        double r65519 = log(r65502);
        double r65520 = -r65519;
        double r65521 = pow(r65498, r65506);
        double r65522 = r65520 / r65521;
        double r65523 = r65518 - r65522;
        double r65524 = r65516 * r65523;
        double r65525 = 0.5;
        double r65526 = pow(r65502, r65506);
        double r65527 = r65526 * r65498;
        double r65528 = r65525 / r65527;
        double r65529 = r65524 - r65528;
        double r65530 = r65506 * r65499;
        double r65531 = pow(r65503, r65530);
        double r65532 = pow(r65502, r65530);
        double r65533 = r65531 - r65532;
        double r65534 = pow(r65502, r65499);
        double r65535 = r65504 + r65534;
        double r65536 = r65533 / r65535;
        double r65537 = r65515 ? r65529 : r65536;
        double r65538 = r65501 ? r65513 : r65537;
        return r65538;
}

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 3 regimes
  2. if (/ 1.0 n) < -7.483782209077366e-06

    1. Initial program 0.6

      \[{\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-sqr-sqrt0.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)}}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\]
    5. Applied difference-of-squares0.6

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

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \color{blue}{\log \left(e^{{x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)}\right)\]
    8. Applied add-log-exp0.7

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\color{blue}{\log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}\right)} - \log \left(e^{{x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\right)\]
    9. Applied diff-log0.7

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \color{blue}{\log \left(\frac{e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}}{e^{{x}^{\left(\frac{\frac{1}{n}}{2}\right)}}}\right)}\]
    10. Simplified0.7

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

    if -7.483782209077366e-06 < (/ 1.0 n) < 4.488090481178635e-20

    1. Initial program 45.2

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

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

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

    if 4.488090481178635e-20 < (/ 1.0 n)

    1. Initial program 27.0

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied flip--30.7

      \[\leadsto \color{blue}{\frac{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}}{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}}}\]
    4. Simplified30.6

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -7.4837822090773658 \cdot 10^{-6}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\\ \mathbf{elif}\;\frac{1}{n} \le 4.48809048117863523 \cdot 10^{-20}:\\ \;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}}\\ \end{array}\]

Reproduce

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