Average Error: 29.1 → 22.2
Time: 20.7s
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 \frac{-4632721439145361}{618970019642690137449562112}:\\ \;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{elif}\;\frac{1}{n} \le \frac{1380969875839495}{288230376151711744}:\\ \;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{\frac{1}{2}}{n}}{{x}^{2}} - \frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3} - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}{{x}^{\left(\frac{1}{n}\right)} \cdot \left({x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right) + {\left(x + 1\right)}^{\left(2 \cdot \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 \frac{-4632721439145361}{618970019642690137449562112}:\\
\;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\

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

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

\end{array}
double f(double x, double n) {
        double r85114 = x;
        double r85115 = 1.0;
        double r85116 = r85114 + r85115;
        double r85117 = n;
        double r85118 = r85115 / r85117;
        double r85119 = pow(r85116, r85118);
        double r85120 = pow(r85114, r85118);
        double r85121 = r85119 - r85120;
        return r85121;
}

double f(double x, double n) {
        double r85122 = 1.0;
        double r85123 = n;
        double r85124 = r85122 / r85123;
        double r85125 = -4632721439145361.0;
        double r85126 = 6.1897001964269014e+26;
        double r85127 = r85125 / r85126;
        bool r85128 = r85124 <= r85127;
        double r85129 = x;
        double r85130 = r85129 + r85122;
        double r85131 = pow(r85130, r85124);
        double r85132 = pow(r85129, r85124);
        double r85133 = r85131 - r85132;
        double r85134 = exp(r85133);
        double r85135 = log(r85134);
        double r85136 = 1380969875839495.0;
        double r85137 = 2.8823037615171174e+17;
        double r85138 = r85136 / r85137;
        bool r85139 = r85124 <= r85138;
        double r85140 = r85124 / r85129;
        double r85141 = 2.0;
        double r85142 = r85122 / r85141;
        double r85143 = r85142 / r85123;
        double r85144 = 2.0;
        double r85145 = pow(r85129, r85144);
        double r85146 = r85143 / r85145;
        double r85147 = log(r85129);
        double r85148 = r85122 * r85147;
        double r85149 = pow(r85123, r85144);
        double r85150 = r85129 * r85149;
        double r85151 = r85148 / r85150;
        double r85152 = r85146 - r85151;
        double r85153 = r85140 - r85152;
        double r85154 = 3.0;
        double r85155 = pow(r85131, r85154);
        double r85156 = pow(r85132, r85154);
        double r85157 = r85155 - r85156;
        double r85158 = r85132 + r85131;
        double r85159 = r85132 * r85158;
        double r85160 = r85144 * r85124;
        double r85161 = pow(r85130, r85160);
        double r85162 = r85159 + r85161;
        double r85163 = r85157 / r85162;
        double r85164 = r85139 ? r85153 : r85163;
        double r85165 = r85128 ? r85135 : r85164;
        return r85165;
}

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 3 regimes
  2. if (/ 1.0 n) < -7.484565151991804e-12

    1. Initial program 1.3

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

      \[\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-exp1.4

      \[\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-log1.4

      \[\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. Simplified1.4

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

    if -7.484565151991804e-12 < (/ 1.0 n) < 0.004791201726471097

    1. Initial program 45.0

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

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

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

    if 0.004791201726471097 < (/ 1.0 n)

    1. Initial program 23.6

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le \frac{-4632721439145361}{618970019642690137449562112}:\\ \;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{elif}\;\frac{1}{n} \le \frac{1380969875839495}{288230376151711744}:\\ \;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{\frac{1}{2}}{n}}{{x}^{2}} - \frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3} - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}{{x}^{\left(\frac{1}{n}\right)} \cdot \left({x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right) + {\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)}}\\ \end{array}\]

Reproduce

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