Average Error: 29.3 → 22.7
Time: 19.6s
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.380908236352897 \cdot 10^{-15}:\\ \;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt[3]{{\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\ \mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\ \;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\ \mathbf{else}:\\ \;\;\;\;\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)}}\\ \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.380908236352897 \cdot 10^{-15}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt[3]{{\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\

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

\mathbf{else}:\\
\;\;\;\;\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)}}\\

\end{array}
double f(double x, double n) {
        double r69302 = x;
        double r69303 = 1.0;
        double r69304 = r69302 + r69303;
        double r69305 = n;
        double r69306 = r69303 / r69305;
        double r69307 = pow(r69304, r69306);
        double r69308 = pow(r69302, r69306);
        double r69309 = r69307 - r69308;
        return r69309;
}

double f(double x, double n) {
        double r69310 = 1.0;
        double r69311 = n;
        double r69312 = r69310 / r69311;
        double r69313 = -7.380908236352897e-15;
        bool r69314 = r69312 <= r69313;
        double r69315 = x;
        double r69316 = r69315 + r69310;
        double r69317 = pow(r69316, r69312);
        double r69318 = pow(r69315, r69312);
        double r69319 = 3.0;
        double r69320 = pow(r69318, r69319);
        double r69321 = cbrt(r69320);
        double r69322 = r69317 - r69321;
        double r69323 = 4.863908999478278e-23;
        bool r69324 = r69312 <= r69323;
        double r69325 = r69315 * r69311;
        double r69326 = r69310 / r69325;
        double r69327 = log(r69315);
        double r69328 = -r69327;
        double r69329 = 2.0;
        double r69330 = pow(r69311, r69329);
        double r69331 = r69315 * r69330;
        double r69332 = r69328 / r69331;
        double r69333 = 0.5;
        double r69334 = pow(r69315, r69329);
        double r69335 = r69334 * r69311;
        double r69336 = r69333 / r69335;
        double r69337 = fma(r69332, r69310, r69336);
        double r69338 = r69326 - r69337;
        double r69339 = r69317 - r69318;
        double r69340 = cbrt(r69339);
        double r69341 = r69340 * r69340;
        double r69342 = r69341 * r69340;
        double r69343 = r69324 ? r69338 : r69342;
        double r69344 = r69314 ? r69322 : r69343;
        return r69344;
}

Error

Bits error versus x

Bits error versus n

Derivation

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

    1. Initial program 1.7

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

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

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

    if -7.380908236352897e-15 < (/ 1.0 n) < 4.863908999478278e-23

    1. Initial program 44.8

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

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

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt[3]{\color{blue}{{\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}}\]
    5. Taylor expanded around inf 32.6

      \[\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)}\]
    6. Simplified32.6

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

    if 4.863908999478278e-23 < (/ 1.0 n)

    1. Initial program 27.7

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

      \[\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)}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification22.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -7.380908236352897 \cdot 10^{-15}:\\ \;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt[3]{{\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\ \mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\ \;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\ \mathbf{else}:\\ \;\;\;\;\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)}}\\ \end{array}\]

Reproduce

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