Average Error: 29.2 → 21.8
Time: 34.3s
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 -4.088555932674840565515313109813764352873 \cdot 10^{-10}:\\ \;\;\;\;\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 2.337974556281276381287875419134246685396 \cdot 10^{-11}:\\ \;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\ \mathbf{else}:\\ \;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot e^{\log \left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\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 -4.088555932674840565515313109813764352873 \cdot 10^{-10}:\\
\;\;\;\;\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 2.337974556281276381287875419134246685396 \cdot 10^{-11}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\

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

\end{array}
double f(double x, double n) {
        double r79776 = x;
        double r79777 = 1.0;
        double r79778 = r79776 + r79777;
        double r79779 = n;
        double r79780 = r79777 / r79779;
        double r79781 = pow(r79778, r79780);
        double r79782 = pow(r79776, r79780);
        double r79783 = r79781 - r79782;
        return r79783;
}

double f(double x, double n) {
        double r79784 = 1.0;
        double r79785 = n;
        double r79786 = r79784 / r79785;
        double r79787 = -4.0885559326748406e-10;
        bool r79788 = r79786 <= r79787;
        double r79789 = x;
        double r79790 = r79789 + r79784;
        double r79791 = pow(r79790, r79786);
        double r79792 = pow(r79789, r79786);
        double r79793 = r79791 - r79792;
        double r79794 = exp(r79793);
        double r79795 = log(r79794);
        double r79796 = 2.3379745562812764e-11;
        bool r79797 = r79786 <= r79796;
        double r79798 = r79784 / r79789;
        double r79799 = 1.0;
        double r79800 = r79799 / r79785;
        double r79801 = log(r79789);
        double r79802 = -r79801;
        double r79803 = 2.0;
        double r79804 = pow(r79785, r79803);
        double r79805 = r79802 / r79804;
        double r79806 = r79800 - r79805;
        double r79807 = r79798 * r79806;
        double r79808 = 0.5;
        double r79809 = pow(r79789, r79803);
        double r79810 = r79809 * r79785;
        double r79811 = r79808 / r79810;
        double r79812 = r79807 - r79811;
        double r79813 = r79786 / r79803;
        double r79814 = pow(r79790, r79813);
        double r79815 = pow(r79789, r79813);
        double r79816 = r79814 + r79815;
        double r79817 = r79814 - r79815;
        double r79818 = log(r79817);
        double r79819 = exp(r79818);
        double r79820 = r79816 * r79819;
        double r79821 = r79797 ? r79812 : r79820;
        double r79822 = r79788 ? r79795 : r79821;
        return r79822;
}

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) < -4.0885559326748406e-10

    1. Initial program 1.1

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

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

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

    if -4.0885559326748406e-10 < (/ 1.0 n) < 2.3379745562812764e-11

    1. Initial program 44.8

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

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

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

    if 2.3379745562812764e-11 < (/ 1.0 n)

    1. Initial program 25.6

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

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\]
    4. Applied sqr-pow25.6

      \[\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)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\]
    5. Applied difference-of-squares25.6

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -4.088555932674840565515313109813764352873 \cdot 10^{-10}:\\ \;\;\;\;\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 2.337974556281276381287875419134246685396 \cdot 10^{-11}:\\ \;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\ \mathbf{else}:\\ \;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot e^{\log \left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\\ \end{array}\]

Reproduce

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