Average Error: 29.8 → 19.5
Time: 48.3s
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 -3.333109823078832 \cdot 10^{-05}:\\ \;\;\;\;\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left(\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 1.058098422757922 \cdot 10^{-12}:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {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 -3.333109823078832 \cdot 10^{-05}:\\
\;\;\;\;\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left(\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}\\

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

\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\

\end{array}
double f(double x, double n) {
        double r2366242 = x;
        double r2366243 = 1.0;
        double r2366244 = r2366242 + r2366243;
        double r2366245 = n;
        double r2366246 = r2366243 / r2366245;
        double r2366247 = pow(r2366244, r2366246);
        double r2366248 = pow(r2366242, r2366246);
        double r2366249 = r2366247 - r2366248;
        return r2366249;
}

double f(double x, double n) {
        double r2366250 = 1.0;
        double r2366251 = n;
        double r2366252 = r2366250 / r2366251;
        double r2366253 = -3.333109823078832e-05;
        bool r2366254 = r2366252 <= r2366253;
        double r2366255 = x;
        double r2366256 = r2366255 + r2366250;
        double r2366257 = pow(r2366256, r2366252);
        double r2366258 = pow(r2366255, r2366252);
        double r2366259 = r2366257 - r2366258;
        double r2366260 = r2366259 * r2366259;
        double r2366261 = r2366259 * r2366260;
        double r2366262 = cbrt(r2366261);
        double r2366263 = 1.058098422757922e-12;
        bool r2366264 = r2366252 <= r2366263;
        double r2366265 = r2366252 / r2366255;
        double r2366266 = 0.5;
        double r2366267 = r2366255 * r2366251;
        double r2366268 = r2366255 * r2366267;
        double r2366269 = r2366266 / r2366268;
        double r2366270 = r2366265 - r2366269;
        double r2366271 = log(r2366255);
        double r2366272 = -r2366271;
        double r2366273 = r2366267 * r2366251;
        double r2366274 = r2366272 / r2366273;
        double r2366275 = r2366270 - r2366274;
        double r2366276 = log1p(r2366255);
        double r2366277 = r2366276 / r2366251;
        double r2366278 = exp(r2366277);
        double r2366279 = r2366278 - r2366258;
        double r2366280 = r2366264 ? r2366275 : r2366279;
        double r2366281 = r2366254 ? r2366262 : r2366280;
        return r2366281;
}

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 n) < -3.333109823078832e-05

    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 add-cbrt-cube0.5

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

    if -3.333109823078832e-05 < (/ 1 n) < 1.058098422757922e-12

    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 33.3

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

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

    if 1.058098422757922e-12 < (/ 1 n)

    1. Initial program 25.4

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

      \[\leadsto \color{blue}{e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}} - {x}^{\left(\frac{1}{n}\right)}\]
    4. Simplified2.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -3.333109823078832 \cdot 10^{-05}:\\ \;\;\;\;\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left(\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 1.058098422757922 \cdot 10^{-12}:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array}\]

Reproduce

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