Average Error: 30.2 → 19.9
Time: 5.0m
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -1.1691364412879753 \cdot 10^{+29}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \left(\frac{1}{x \cdot \left(x \cdot n\right)}\right), \left(\frac{1}{x \cdot n} - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\right)\right)\\ \mathbf{elif}\;n \le 6.27766318369933 \cdot 10^{-310}:\\ \;\;\;\;\sqrt[3]{\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) - {x}^{\left(\frac{1}{n}\right)}} \cdot \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)\\ \mathbf{elif}\;n \le 10590342.280407172:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \left(\frac{1}{x \cdot \left(x \cdot n\right)}\right), \left(\frac{1}{x \cdot n} - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\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 -1.1691364412879753 \cdot 10^{+29}:\\
\;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \left(\frac{1}{x \cdot \left(x \cdot n\right)}\right), \left(\frac{1}{x \cdot n} - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\right)\right)\\

\mathbf{elif}\;n \le 6.27766318369933 \cdot 10^{-310}:\\
\;\;\;\;\sqrt[3]{\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) - {x}^{\left(\frac{1}{n}\right)}} \cdot \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)\\

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

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

\end{array}
double f(double x, double n) {
        double r18390177 = x;
        double r18390178 = 1.0;
        double r18390179 = r18390177 + r18390178;
        double r18390180 = n;
        double r18390181 = r18390178 / r18390180;
        double r18390182 = pow(r18390179, r18390181);
        double r18390183 = pow(r18390177, r18390181);
        double r18390184 = r18390182 - r18390183;
        return r18390184;
}

double f(double x, double n) {
        double r18390185 = n;
        double r18390186 = -1.1691364412879753e+29;
        bool r18390187 = r18390185 <= r18390186;
        double r18390188 = -0.5;
        double r18390189 = 1.0;
        double r18390190 = x;
        double r18390191 = r18390190 * r18390185;
        double r18390192 = r18390190 * r18390191;
        double r18390193 = r18390189 / r18390192;
        double r18390194 = r18390189 / r18390191;
        double r18390195 = log(r18390190);
        double r18390196 = -r18390195;
        double r18390197 = r18390185 * r18390191;
        double r18390198 = r18390196 / r18390197;
        double r18390199 = r18390194 - r18390198;
        double r18390200 = fma(r18390188, r18390193, r18390199);
        double r18390201 = 6.27766318369933e-310;
        bool r18390202 = r18390185 <= r18390201;
        double r18390203 = r18390190 + r18390189;
        double r18390204 = r18390189 / r18390185;
        double r18390205 = pow(r18390203, r18390204);
        double r18390206 = cbrt(r18390205);
        double r18390207 = r18390206 * r18390206;
        double r18390208 = r18390206 * r18390207;
        double r18390209 = pow(r18390190, r18390204);
        double r18390210 = r18390208 - r18390209;
        double r18390211 = cbrt(r18390210);
        double r18390212 = r18390205 - r18390209;
        double r18390213 = cbrt(r18390212);
        double r18390214 = r18390213 * r18390213;
        double r18390215 = r18390211 * r18390214;
        double r18390216 = 10590342.280407172;
        bool r18390217 = r18390185 <= r18390216;
        double r18390218 = log1p(r18390190);
        double r18390219 = r18390218 / r18390185;
        double r18390220 = exp(r18390219);
        double r18390221 = r18390220 - r18390209;
        double r18390222 = r18390217 ? r18390221 : r18390200;
        double r18390223 = r18390202 ? r18390215 : r18390222;
        double r18390224 = r18390187 ? r18390200 : r18390223;
        return r18390224;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if n < -1.1691364412879753e+29 or 10590342.280407172 < n

    1. Initial program 45.2

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

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

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

    if -1.1691364412879753e+29 < n < 6.27766318369933e-310

    1. Initial program 4.9

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

      \[\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)}}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt4.9

      \[\leadsto \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[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\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 6.27766318369933e-310 < n < 10590342.280407172

    1. Initial program 25.3

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

      \[\leadsto {\color{blue}{\left(e^{\log \left(x + 1\right)}\right)}}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    4. Applied pow-exp25.3

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -1.1691364412879753 \cdot 10^{+29}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \left(\frac{1}{x \cdot \left(x \cdot n\right)}\right), \left(\frac{1}{x \cdot n} - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\right)\right)\\ \mathbf{elif}\;n \le 6.27766318369933 \cdot 10^{-310}:\\ \;\;\;\;\sqrt[3]{\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) - {x}^{\left(\frac{1}{n}\right)}} \cdot \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)\\ \mathbf{elif}\;n \le 10590342.280407172:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{-1}{2}, \left(\frac{1}{x \cdot \left(x \cdot n\right)}\right), \left(\frac{1}{x \cdot n} - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\right)\right)\\ \end{array}\]

Reproduce

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