Average Error: 29.4 → 22.7
Time: 12.3s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -13110305152567191600:\\ \;\;\;\;\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{elif}\;n \le 52298366200.2400131:\\ \;\;\;\;e^{\log \left(\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(\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)}\right)}\\ \mathbf{else}:\\ \;\;\;\;e^{\left(-\left(\log n + \log x\right)\right) + \left(\log 1 - \mathsf{fma}\left(1, \frac{\log \left(\frac{1}{x}\right)}{n}, 0.5 \cdot \frac{1}{x}\right)\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 -13110305152567191600:\\
\;\;\;\;\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{elif}\;n \le 52298366200.2400131:\\
\;\;\;\;e^{\log \left(\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(\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)}\right)}\\

\mathbf{else}:\\
\;\;\;\;e^{\left(-\left(\log n + \log x\right)\right) + \left(\log 1 - \mathsf{fma}\left(1, \frac{\log \left(\frac{1}{x}\right)}{n}, 0.5 \cdot \frac{1}{x}\right)\right)}\\

\end{array}
double f(double x, double n) {
        double r92416 = x;
        double r92417 = 1.0;
        double r92418 = r92416 + r92417;
        double r92419 = n;
        double r92420 = r92417 / r92419;
        double r92421 = pow(r92418, r92420);
        double r92422 = pow(r92416, r92420);
        double r92423 = r92421 - r92422;
        return r92423;
}

double f(double x, double n) {
        double r92424 = n;
        double r92425 = -1.3110305152567192e+19;
        bool r92426 = r92424 <= r92425;
        double r92427 = 1.0;
        double r92428 = 1.0;
        double r92429 = x;
        double r92430 = r92429 * r92424;
        double r92431 = r92428 / r92430;
        double r92432 = 0.5;
        double r92433 = 2.0;
        double r92434 = pow(r92429, r92433);
        double r92435 = r92434 * r92424;
        double r92436 = r92428 / r92435;
        double r92437 = r92428 / r92429;
        double r92438 = log(r92437);
        double r92439 = pow(r92424, r92433);
        double r92440 = r92429 * r92439;
        double r92441 = r92438 / r92440;
        double r92442 = r92427 * r92441;
        double r92443 = fma(r92432, r92436, r92442);
        double r92444 = -r92443;
        double r92445 = fma(r92427, r92431, r92444);
        double r92446 = 52298366200.24001;
        bool r92447 = r92424 <= r92446;
        double r92448 = r92429 + r92427;
        double r92449 = r92427 / r92424;
        double r92450 = pow(r92448, r92449);
        double r92451 = pow(r92429, r92449);
        double r92452 = r92450 - r92451;
        double r92453 = cbrt(r92452);
        double r92454 = r92453 * r92453;
        double r92455 = sqrt(r92450);
        double r92456 = r92449 / r92433;
        double r92457 = pow(r92429, r92456);
        double r92458 = r92455 + r92457;
        double r92459 = r92455 - r92457;
        double r92460 = r92458 * r92459;
        double r92461 = cbrt(r92460);
        double r92462 = r92454 * r92461;
        double r92463 = log(r92462);
        double r92464 = exp(r92463);
        double r92465 = log(r92424);
        double r92466 = log(r92429);
        double r92467 = r92465 + r92466;
        double r92468 = -r92467;
        double r92469 = log(r92427);
        double r92470 = r92438 / r92424;
        double r92471 = r92432 * r92437;
        double r92472 = fma(r92427, r92470, r92471);
        double r92473 = r92469 - r92472;
        double r92474 = r92468 + r92473;
        double r92475 = exp(r92474);
        double r92476 = r92447 ? r92464 : r92475;
        double r92477 = r92426 ? r92445 : r92476;
        return r92477;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if n < -1.3110305152567192e+19

    1. Initial program 44.2

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

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

      \[\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 -1.3110305152567192e+19 < n < 52298366200.24001

    1. Initial program 9.8

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

      \[\leadsto \color{blue}{e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt10.6

      \[\leadsto e^{\log \color{blue}{\left(\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)}}\right)}}\]
    6. Using strategy rm
    7. Applied sqr-pow10.6

      \[\leadsto e^{\log \left(\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)} - \color{blue}{{x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}}\right)}\]
    8. Applied add-sqr-sqrt10.6

      \[\leadsto e^{\log \left(\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]{\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)}}\right)}\]
    9. Applied difference-of-squares10.6

      \[\leadsto e^{\log \left(\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]{\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)}}\right)}\]

    if 52298366200.24001 < n

    1. Initial program 45.5

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

      \[\leadsto \color{blue}{e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}}\]
    4. Taylor expanded around inf 32.0

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

      \[\leadsto e^{\color{blue}{\left(-\left(\log n + \log x\right)\right) + \left(\log 1 - \mathsf{fma}\left(1, \frac{\log \left(\frac{1}{x}\right)}{n}, 0.5 \cdot \frac{1}{x}\right)\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification22.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -13110305152567191600:\\ \;\;\;\;\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{elif}\;n \le 52298366200.2400131:\\ \;\;\;\;e^{\log \left(\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(\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)}\right)}\\ \mathbf{else}:\\ \;\;\;\;e^{\left(-\left(\log n + \log x\right)\right) + \left(\log 1 - \mathsf{fma}\left(1, \frac{\log \left(\frac{1}{x}\right)}{n}, 0.5 \cdot \frac{1}{x}\right)\right)}\\ \end{array}\]

Reproduce

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