Average Error: 28.7 → 18.2
Time: 30.9s
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 -68.91712530166619:\\ \;\;\;\;\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)\\ \mathbf{elif}\;\frac{1}{n} \le 7.400639997078641 \cdot 10^{-05}:\\ \;\;\;\;\left(\frac{\frac{1}{x}}{n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\\ \mathbf{else}:\\ \;\;\;\;e^{\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}} - {x}^{\left(\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 -68.91712530166619:\\
\;\;\;\;\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)\\

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

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

\end{array}
double f(double x, double n) {
        double r1820838 = x;
        double r1820839 = 1.0;
        double r1820840 = r1820838 + r1820839;
        double r1820841 = n;
        double r1820842 = r1820839 / r1820841;
        double r1820843 = pow(r1820840, r1820842);
        double r1820844 = pow(r1820838, r1820842);
        double r1820845 = r1820843 - r1820844;
        return r1820845;
}

double f(double x, double n) {
        double r1820846 = 1.0;
        double r1820847 = n;
        double r1820848 = r1820846 / r1820847;
        double r1820849 = -68.91712530166619;
        bool r1820850 = r1820848 <= r1820849;
        double r1820851 = x;
        double r1820852 = r1820851 + r1820846;
        double r1820853 = pow(r1820852, r1820848);
        double r1820854 = pow(r1820851, r1820848);
        double r1820855 = r1820853 - r1820854;
        double r1820856 = cbrt(r1820855);
        double r1820857 = r1820856 * r1820856;
        double r1820858 = exp(r1820857);
        double r1820859 = log(r1820858);
        double r1820860 = r1820856 * r1820859;
        double r1820861 = 7.400639997078641e-05;
        bool r1820862 = r1820848 <= r1820861;
        double r1820863 = r1820846 / r1820851;
        double r1820864 = r1820863 / r1820847;
        double r1820865 = 0.5;
        double r1820866 = r1820851 * r1820847;
        double r1820867 = r1820851 * r1820866;
        double r1820868 = r1820865 / r1820867;
        double r1820869 = r1820864 - r1820868;
        double r1820870 = log(r1820851);
        double r1820871 = -r1820870;
        double r1820872 = r1820847 * r1820866;
        double r1820873 = r1820871 / r1820872;
        double r1820874 = r1820869 - r1820873;
        double r1820875 = log1p(r1820851);
        double r1820876 = r1820875 * r1820848;
        double r1820877 = exp(r1820876);
        double r1820878 = r1820877 - r1820854;
        double r1820879 = r1820862 ? r1820874 : r1820878;
        double r1820880 = r1820850 ? r1820860 : r1820879;
        return r1820880;
}

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 n) < -68.91712530166619

    1. Initial program 0

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

      \[\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-cbrt0

      \[\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-prod0

      \[\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-pow0

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

    if -68.91712530166619 < (/ 1 n) < 7.400639997078641e-05

    1. Initial program 44.4

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

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

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

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

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

    if 7.400639997078641e-05 < (/ 1 n)

    1. Initial program 24.3

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -68.91712530166619:\\ \;\;\;\;\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)\\ \mathbf{elif}\;\frac{1}{n} \le 7.400639997078641 \cdot 10^{-05}:\\ \;\;\;\;\left(\frac{\frac{1}{x}}{n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\\ \mathbf{else}:\\ \;\;\;\;e^{\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array}\]

Reproduce

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