Average Error: 29.4 → 22.0
Time: 12.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 -1.408873306236969607029614450035238454794 \cdot 10^{-12}:\\ \;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\ \mathbf{elif}\;\frac{1}{n} \le 3.008482021354361490177034255367093310264 \cdot 10^{-20}:\\ \;\;\;\;\mathsf{fma}\left(1, \frac{1}{x \cdot n}, -\mathsf{fma}\left(0.5, \frac{1}{{x}^{2} \cdot n}, 1 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\ \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 -1.408873306236969607029614450035238454794 \cdot 10^{-12}:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\

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

\mathbf{else}:\\
\;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\

\end{array}
double f(double x, double n) {
        double r79410 = x;
        double r79411 = 1.0;
        double r79412 = r79410 + r79411;
        double r79413 = n;
        double r79414 = r79411 / r79413;
        double r79415 = pow(r79412, r79414);
        double r79416 = pow(r79410, r79414);
        double r79417 = r79415 - r79416;
        return r79417;
}

double f(double x, double n) {
        double r79418 = 1.0;
        double r79419 = n;
        double r79420 = r79418 / r79419;
        double r79421 = -1.4088733062369696e-12;
        bool r79422 = r79420 <= r79421;
        double r79423 = x;
        double r79424 = r79423 + r79418;
        double r79425 = pow(r79424, r79420);
        double r79426 = pow(r79423, r79420);
        double r79427 = r79425 - r79426;
        double r79428 = cbrt(r79427);
        double r79429 = r79428 * r79428;
        double r79430 = r79429 * r79428;
        double r79431 = 3.0084820213543615e-20;
        bool r79432 = r79420 <= r79431;
        double r79433 = 1.0;
        double r79434 = r79423 * r79419;
        double r79435 = r79433 / r79434;
        double r79436 = 0.5;
        double r79437 = 2.0;
        double r79438 = pow(r79423, r79437);
        double r79439 = r79438 * r79419;
        double r79440 = r79433 / r79439;
        double r79441 = r79433 / r79423;
        double r79442 = log(r79441);
        double r79443 = pow(r79419, r79437);
        double r79444 = r79423 * r79443;
        double r79445 = r79442 / r79444;
        double r79446 = r79418 * r79445;
        double r79447 = fma(r79436, r79440, r79446);
        double r79448 = -r79447;
        double r79449 = fma(r79418, r79435, r79448);
        double r79450 = 3.0;
        double r79451 = pow(r79427, r79450);
        double r79452 = cbrt(r79451);
        double r79453 = r79432 ? r79449 : r79452;
        double r79454 = r79422 ? r79430 : r79453;
        return r79454;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if (/ 1.0 n) < -1.4088733062369696e-12

    1. Initial program 1.2

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

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

    if -1.4088733062369696e-12 < (/ 1.0 n) < 3.0084820213543615e-20

    1. Initial program 45.4

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

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

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

    if 3.0084820213543615e-20 < (/ 1.0 n)

    1. Initial program 26.4

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

      \[\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)}}\]
    4. Simplified26.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -1.408873306236969607029614450035238454794 \cdot 10^{-12}:\\ \;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\ \mathbf{elif}\;\frac{1}{n} \le 3.008482021354361490177034255367093310264 \cdot 10^{-20}:\\ \;\;\;\;\mathsf{fma}\left(1, \frac{1}{x \cdot n}, -\mathsf{fma}\left(0.5, \frac{1}{{x}^{2} \cdot n}, 1 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\ \end{array}\]

Reproduce

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