Average Error: 29.6 → 18.9
Time: 34.0s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -3.4976794249331085 \cdot 10^{+17}:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\frac{\log x}{x}}{n \cdot n}\\ \mathbf{elif}\;n \le -1.3639466184317344 \cdot 10^{-307}:\\ \;\;\;\;\log \left(e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{elif}\;n \le 5868617663879.639:\\ \;\;\;\;\log \left(e^{e^{\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \log \left(e^{\frac{\frac{1}{2}}{\left(x \cdot x\right) \cdot n}}\right)\right) - \left(-\frac{\log x}{\left(n \cdot n\right) \cdot x}\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 -3.4976794249331085 \cdot 10^{+17}:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\frac{\log x}{x}}{n \cdot n}\\

\mathbf{elif}\;n \le -1.3639466184317344 \cdot 10^{-307}:\\
\;\;\;\;\log \left(e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\

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

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

\end{array}
double f(double x, double n) {
        double r1633183 = x;
        double r1633184 = 1.0;
        double r1633185 = r1633183 + r1633184;
        double r1633186 = n;
        double r1633187 = r1633184 / r1633186;
        double r1633188 = pow(r1633185, r1633187);
        double r1633189 = pow(r1633183, r1633187);
        double r1633190 = r1633188 - r1633189;
        return r1633190;
}

double f(double x, double n) {
        double r1633191 = n;
        double r1633192 = -3.4976794249331085e+17;
        bool r1633193 = r1633191 <= r1633192;
        double r1633194 = 1.0;
        double r1633195 = x;
        double r1633196 = r1633195 * r1633191;
        double r1633197 = r1633194 / r1633196;
        double r1633198 = 0.5;
        double r1633199 = r1633195 * r1633196;
        double r1633200 = r1633198 / r1633199;
        double r1633201 = r1633197 - r1633200;
        double r1633202 = log(r1633195);
        double r1633203 = r1633202 / r1633195;
        double r1633204 = -r1633203;
        double r1633205 = r1633191 * r1633191;
        double r1633206 = r1633204 / r1633205;
        double r1633207 = r1633201 - r1633206;
        double r1633208 = -1.3639466184317344e-307;
        bool r1633209 = r1633191 <= r1633208;
        double r1633210 = r1633194 + r1633195;
        double r1633211 = r1633194 / r1633191;
        double r1633212 = pow(r1633210, r1633211);
        double r1633213 = pow(r1633195, r1633211);
        double r1633214 = r1633212 - r1633213;
        double r1633215 = exp(r1633214);
        double r1633216 = log(r1633215);
        double r1633217 = 5868617663879.639;
        bool r1633218 = r1633191 <= r1633217;
        double r1633219 = log1p(r1633195);
        double r1633220 = r1633219 * r1633211;
        double r1633221 = exp(r1633220);
        double r1633222 = r1633221 - r1633213;
        double r1633223 = exp(r1633222);
        double r1633224 = log(r1633223);
        double r1633225 = r1633211 / r1633195;
        double r1633226 = r1633195 * r1633195;
        double r1633227 = r1633226 * r1633191;
        double r1633228 = r1633198 / r1633227;
        double r1633229 = exp(r1633228);
        double r1633230 = log(r1633229);
        double r1633231 = r1633225 - r1633230;
        double r1633232 = r1633205 * r1633195;
        double r1633233 = r1633202 / r1633232;
        double r1633234 = -r1633233;
        double r1633235 = r1633231 - r1633234;
        double r1633236 = r1633218 ? r1633224 : r1633235;
        double r1633237 = r1633209 ? r1633216 : r1633236;
        double r1633238 = r1633193 ? r1633207 : r1633237;
        return r1633238;
}

Error

Bits error versus x

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 4 regimes
  2. if n < -3.4976794249331085e+17

    1. Initial program 45.2

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

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

      \[\leadsto \color{blue}{\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right)} - \log \left(e^{{x}^{\left(\frac{1}{n}\right)}}\right)\]
    5. Applied diff-log45.2

      \[\leadsto \color{blue}{\log \left(\frac{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}{e^{{x}^{\left(\frac{1}{n}\right)}}}\right)}\]
    6. Simplified45.2

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

      \[\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)}\]
    8. Simplified31.7

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

    if -3.4976794249331085e+17 < n < -1.3639466184317344e-307

    1. Initial program 1.9

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

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

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

      \[\leadsto \color{blue}{\log \left(\frac{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}{e^{{x}^{\left(\frac{1}{n}\right)}}}\right)}\]
    6. Simplified2.1

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

    if -1.3639466184317344e-307 < n < 5868617663879.639

    1. Initial program 25.0

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

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

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

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

      \[\leadsto \log \color{blue}{\left(e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)}\]
    7. Using strategy rm
    8. Applied add-exp-log25.0

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

      \[\leadsto \log \left(e^{e^{\color{blue}{\frac{1}{n} \cdot \mathsf{log1p}\left(x\right)}} - {x}^{\left(\frac{1}{n}\right)}}\right)\]

    if 5868617663879.639 < n

    1. Initial program 46.3

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

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

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

      \[\leadsto \color{blue}{\log \left(\frac{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}{e^{{x}^{\left(\frac{1}{n}\right)}}}\right)}\]
    6. Simplified46.3

      \[\leadsto \log \color{blue}{\left(e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)}\]
    7. Using strategy rm
    8. Applied add-exp-log46.3

      \[\leadsto \log \left(e^{\color{blue}{e^{\log \left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)}\right)}} - {x}^{\left(\frac{1}{n}\right)}}\right)\]
    9. Simplified46.3

      \[\leadsto \log \left(e^{e^{\color{blue}{\frac{1}{n} \cdot \mathsf{log1p}\left(x\right)}} - {x}^{\left(\frac{1}{n}\right)}}\right)\]
    10. Taylor expanded around inf 32.7

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

      \[\leadsto \color{blue}{\left(\frac{\frac{1}{n}}{x} - \frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}\right) - \left(-\frac{\log x}{\left(n \cdot n\right) \cdot x}\right)}\]
    12. Using strategy rm
    13. Applied add-log-exp32.3

      \[\leadsto \left(\frac{\frac{1}{n}}{x} - \color{blue}{\log \left(e^{\frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}}\right)}\right) - \left(-\frac{\log x}{\left(n \cdot n\right) \cdot x}\right)\]
  3. Recombined 4 regimes into one program.
  4. Final simplification18.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -3.4976794249331085 \cdot 10^{+17}:\\ \;\;\;\;\left(\frac{1}{x \cdot n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\frac{\log x}{x}}{n \cdot n}\\ \mathbf{elif}\;n \le -1.3639466184317344 \cdot 10^{-307}:\\ \;\;\;\;\log \left(e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{elif}\;n \le 5868617663879.639:\\ \;\;\;\;\log \left(e^{e^{\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \log \left(e^{\frac{\frac{1}{2}}{\left(x \cdot x\right) \cdot n}}\right)\right) - \left(-\frac{\log x}{\left(n \cdot n\right) \cdot x}\right)\\ \end{array}\]

Reproduce

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