Average Error: 29.3 → 20.7
Time: 27.9s
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 -239.6459692655227:\\ \;\;\;\;e^{\log \left(\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, \left(-{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)} + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\ \mathbf{elif}\;\frac{1}{n} \le 9.812522103007852 \cdot 10^{-14}:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\frac{\log x}{x}}{n \cdot n}\right) - \frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 2.4269139960293977 \cdot 10^{+130}:\\ \;\;\;\;e^{\log \left(\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, \left(-{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)} + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;e^{\left(\left(\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}\right)\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 -239.6459692655227:\\
\;\;\;\;e^{\log \left(\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, \left(-{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)} + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\

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

\mathbf{elif}\;\frac{1}{n} \le 2.4269139960293977 \cdot 10^{+130}:\\
\;\;\;\;e^{\log \left(\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, \left(-{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)} + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\

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

\end{array}
double f(double x, double n) {
        double r1142338 = x;
        double r1142339 = 1.0;
        double r1142340 = r1142338 + r1142339;
        double r1142341 = n;
        double r1142342 = r1142339 / r1142341;
        double r1142343 = pow(r1142340, r1142342);
        double r1142344 = pow(r1142338, r1142342);
        double r1142345 = r1142343 - r1142344;
        return r1142345;
}

double f(double x, double n) {
        double r1142346 = 1.0;
        double r1142347 = n;
        double r1142348 = r1142346 / r1142347;
        double r1142349 = -239.6459692655227;
        bool r1142350 = r1142348 <= r1142349;
        double r1142351 = x;
        double r1142352 = r1142351 + r1142346;
        double r1142353 = 2.0;
        double r1142354 = r1142348 / r1142353;
        double r1142355 = pow(r1142352, r1142354);
        double r1142356 = cbrt(r1142351);
        double r1142357 = r1142356 * r1142356;
        double r1142358 = pow(r1142357, r1142348);
        double r1142359 = -r1142358;
        double r1142360 = pow(r1142356, r1142348);
        double r1142361 = r1142359 * r1142360;
        double r1142362 = fma(r1142355, r1142355, r1142361);
        double r1142363 = log(r1142362);
        double r1142364 = exp(r1142363);
        double r1142365 = -r1142360;
        double r1142366 = r1142360 * r1142358;
        double r1142367 = fma(r1142365, r1142358, r1142366);
        double r1142368 = r1142364 + r1142367;
        double r1142369 = 9.812522103007852e-14;
        bool r1142370 = r1142348 <= r1142369;
        double r1142371 = r1142351 * r1142347;
        double r1142372 = r1142346 / r1142371;
        double r1142373 = log(r1142351);
        double r1142374 = r1142373 / r1142351;
        double r1142375 = -r1142374;
        double r1142376 = r1142347 * r1142347;
        double r1142377 = r1142375 / r1142376;
        double r1142378 = r1142372 - r1142377;
        double r1142379 = 0.5;
        double r1142380 = r1142351 * r1142351;
        double r1142381 = r1142347 * r1142380;
        double r1142382 = r1142379 / r1142381;
        double r1142383 = r1142378 - r1142382;
        double r1142384 = 2.4269139960293977e+130;
        bool r1142385 = r1142348 <= r1142384;
        double r1142386 = log1p(r1142351);
        double r1142387 = r1142386 * r1142348;
        double r1142388 = /* ERROR: no posit support in C */;
        double r1142389 = /* ERROR: no posit support in C */;
        double r1142390 = exp(r1142389);
        double r1142391 = pow(r1142351, r1142348);
        double r1142392 = r1142390 - r1142391;
        double r1142393 = r1142385 ? r1142368 : r1142392;
        double r1142394 = r1142370 ? r1142383 : r1142393;
        double r1142395 = r1142350 ? r1142368 : r1142394;
        return r1142395;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if (/ 1 n) < -239.6459692655227 or 9.812522103007852e-14 < (/ 1 n) < 2.4269139960293977e+130

    1. Initial program 2.8

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

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\color{blue}{\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)}}^{\left(\frac{1}{n}\right)}\]
    4. Applied unpow-prod-down2.8

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}}\]
    5. Applied sqr-pow2.8

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

      \[\leadsto \color{blue}{\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, -{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)}\]
    7. Using strategy rm
    8. Applied add-exp-log2.8

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

    if -239.6459692655227 < (/ 1 n) < 9.812522103007852e-14

    1. Initial program 45.1

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

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

    if 2.4269139960293977e+130 < (/ 1 n)

    1. Initial program 35.7

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

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

      \[\leadsto e^{\color{blue}{\frac{1}{n} \cdot \mathsf{log1p}\left(x\right)}} - {x}^{\left(\frac{1}{n}\right)}\]
    5. Using strategy rm
    6. Applied insert-posit1610.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -239.6459692655227:\\ \;\;\;\;e^{\log \left(\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, \left(-{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)} + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\ \mathbf{elif}\;\frac{1}{n} \le 9.812522103007852 \cdot 10^{-14}:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\frac{\log x}{x}}{n \cdot n}\right) - \frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 2.4269139960293977 \cdot 10^{+130}:\\ \;\;\;\;e^{\log \left(\mathsf{fma}\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, \left(-{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)} + \mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;e^{\left(\left(\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}\right)\right)} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array}\]

Reproduce

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