Average Error: 28.9 → 21.4
Time: 30.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 -29869477.165418986:\\ \;\;\;\;\left(\frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)} + \frac{\frac{1}{x}}{n}\right) + \frac{\frac{\log x}{n \cdot n}}{x}\\ \mathbf{elif}\;n \le 0.9292141684675859:\\ \;\;\;\;\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \log \left(e^{\sqrt[3]{{\left(\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)} + \frac{\frac{1}{x}}{n}\right) + \frac{\frac{\log x}{n \cdot n}}{x}\\ \end{array}\]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;n \le -29869477.165418986:\\
\;\;\;\;\left(\frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)} + \frac{\frac{1}{x}}{n}\right) + \frac{\frac{\log x}{n \cdot n}}{x}\\

\mathbf{elif}\;n \le 0.9292141684675859:\\
\;\;\;\;\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \log \left(e^{\sqrt[3]{{\left(\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right)\\

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

\end{array}
double f(double x, double n) {
        double r1526734 = x;
        double r1526735 = 1.0;
        double r1526736 = r1526734 + r1526735;
        double r1526737 = n;
        double r1526738 = r1526735 / r1526737;
        double r1526739 = pow(r1526736, r1526738);
        double r1526740 = pow(r1526734, r1526738);
        double r1526741 = r1526739 - r1526740;
        return r1526741;
}

double f(double x, double n) {
        double r1526742 = n;
        double r1526743 = -29869477.165418986;
        bool r1526744 = r1526742 <= r1526743;
        double r1526745 = -0.5;
        double r1526746 = x;
        double r1526747 = r1526746 * r1526742;
        double r1526748 = r1526746 * r1526747;
        double r1526749 = r1526745 / r1526748;
        double r1526750 = 1.0;
        double r1526751 = r1526750 / r1526746;
        double r1526752 = r1526751 / r1526742;
        double r1526753 = r1526749 + r1526752;
        double r1526754 = log(r1526746);
        double r1526755 = r1526742 * r1526742;
        double r1526756 = r1526754 / r1526755;
        double r1526757 = r1526756 / r1526746;
        double r1526758 = r1526753 + r1526757;
        double r1526759 = 0.9292141684675859;
        bool r1526760 = r1526742 <= r1526759;
        double r1526761 = r1526750 + r1526746;
        double r1526762 = r1526750 / r1526742;
        double r1526763 = pow(r1526761, r1526762);
        double r1526764 = pow(r1526746, r1526762);
        double r1526765 = r1526763 - r1526764;
        double r1526766 = cbrt(r1526765);
        double r1526767 = cbrt(r1526761);
        double r1526768 = r1526767 * r1526767;
        double r1526769 = pow(r1526768, r1526762);
        double r1526770 = pow(r1526767, r1526762);
        double r1526771 = r1526769 * r1526770;
        double r1526772 = r1526771 - r1526764;
        double r1526773 = cbrt(r1526772);
        double r1526774 = r1526773 * r1526766;
        double r1526775 = exp(r1526774);
        double r1526776 = log(r1526775);
        double r1526777 = r1526766 * r1526776;
        double r1526778 = r1526760 ? r1526777 : r1526758;
        double r1526779 = r1526744 ? r1526758 : r1526778;
        return r1526779;
}

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 2 regimes
  2. if n < -29869477.165418986 or 0.9292141684675859 < n

    1. Initial program 44.4

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

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

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

    if -29869477.165418986 < n < 0.9292141684675859

    1. Initial program 7.9

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

      \[\leadsto \color{blue}{\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt8.0

      \[\leadsto \log \left(e^{\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)}}}}\right)\]
    6. Applied exp-prod8.0

      \[\leadsto \log \color{blue}{\left({\left(e^{\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)}^{\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)}\right)}\]
    7. Applied log-pow8.0

      \[\leadsto \color{blue}{\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \log \left(e^{\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)}\]
    8. Using strategy rm
    9. Applied add-cube-cbrt8.0

      \[\leadsto \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \log \left(e^{\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\color{blue}{\left(\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}\right)}}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right)\]
    10. Applied unpow-prod-down8.0

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

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

Reproduce

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