Average Error: 29.3 → 22.2
Time: 31.8s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -100941949052182.515625:\\ \;\;\;\;\frac{\frac{1}{x}}{n} - \mathsf{fma}\left(\frac{\frac{-\log x}{n \cdot n}}{x}, 1, \frac{\frac{0.5}{n}}{{x}^{2}}\right)\\ \mathbf{elif}\;n \le 251407.4974749986722599714994430541992188:\\ \;\;\;\;\left(\sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n \cdot 2}\right)}\right) \cdot \left({x}^{\left(\frac{1}{n \cdot 2}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left({x}^{\left(\frac{1}{n \cdot 2}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{\frac{0.5}{n}}{x} - \mathsf{fma}\left(\frac{0.25}{{n}^{2}}, \frac{-\log x}{x}, \log \left(e^{\frac{0.25}{\left(x \cdot x\right) \cdot n}}\right)\right)\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 -100941949052182.515625:\\
\;\;\;\;\frac{\frac{1}{x}}{n} - \mathsf{fma}\left(\frac{\frac{-\log x}{n \cdot n}}{x}, 1, \frac{\frac{0.5}{n}}{{x}^{2}}\right)\\

\mathbf{elif}\;n \le 251407.4974749986722599714994430541992188:\\
\;\;\;\;\left(\sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n \cdot 2}\right)}\right) \cdot \left({x}^{\left(\frac{1}{n \cdot 2}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left({x}^{\left(\frac{1}{n \cdot 2}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{\frac{0.5}{n}}{x} - \mathsf{fma}\left(\frac{0.25}{{n}^{2}}, \frac{-\log x}{x}, \log \left(e^{\frac{0.25}{\left(x \cdot x\right) \cdot n}}\right)\right)\right)\\

\end{array}
double f(double x, double n) {
        double r72591 = x;
        double r72592 = 1.0;
        double r72593 = r72591 + r72592;
        double r72594 = n;
        double r72595 = r72592 / r72594;
        double r72596 = pow(r72593, r72595);
        double r72597 = pow(r72591, r72595);
        double r72598 = r72596 - r72597;
        return r72598;
}

double f(double x, double n) {
        double r72599 = n;
        double r72600 = -100941949052182.52;
        bool r72601 = r72599 <= r72600;
        double r72602 = 1.0;
        double r72603 = x;
        double r72604 = r72602 / r72603;
        double r72605 = r72604 / r72599;
        double r72606 = log(r72603);
        double r72607 = -r72606;
        double r72608 = r72599 * r72599;
        double r72609 = r72607 / r72608;
        double r72610 = r72609 / r72603;
        double r72611 = 0.5;
        double r72612 = r72611 / r72599;
        double r72613 = 2.0;
        double r72614 = pow(r72603, r72613);
        double r72615 = r72612 / r72614;
        double r72616 = fma(r72610, r72602, r72615);
        double r72617 = r72605 - r72616;
        double r72618 = 251407.49747499867;
        bool r72619 = r72599 <= r72618;
        double r72620 = r72602 + r72603;
        double r72621 = r72602 / r72599;
        double r72622 = pow(r72620, r72621);
        double r72623 = sqrt(r72622);
        double r72624 = r72599 * r72613;
        double r72625 = r72602 / r72624;
        double r72626 = pow(r72603, r72625);
        double r72627 = r72623 - r72626;
        double r72628 = r72626 + r72623;
        double r72629 = r72627 * r72628;
        double r72630 = r72612 / r72603;
        double r72631 = 0.25;
        double r72632 = pow(r72599, r72613);
        double r72633 = r72631 / r72632;
        double r72634 = r72607 / r72603;
        double r72635 = r72603 * r72603;
        double r72636 = r72635 * r72599;
        double r72637 = r72631 / r72636;
        double r72638 = exp(r72637);
        double r72639 = log(r72638);
        double r72640 = fma(r72633, r72634, r72639);
        double r72641 = r72630 - r72640;
        double r72642 = r72628 * r72641;
        double r72643 = r72619 ? r72629 : r72642;
        double r72644 = r72601 ? r72617 : r72643;
        return r72644;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if n < -100941949052182.52

    1. Initial program 44.2

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

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

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

    if -100941949052182.52 < n < 251407.49747499867

    1. Initial program 9.0

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

      \[\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 add-sqr-sqrt9.1

      \[\leadsto \color{blue}{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\]
    5. Applied difference-of-squares9.1

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\]
    6. Simplified9.1

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{1}{2 \cdot n}\right)}\right)} \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\]
    7. Simplified9.1

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

    if 251407.49747499867 < n

    1. Initial program 43.9

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

      \[\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 add-sqr-sqrt44.0

      \[\leadsto \color{blue}{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\]
    5. Applied difference-of-squares44.0

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\]
    6. Simplified44.0

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{1}{2 \cdot n}\right)}\right)} \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\]
    7. Simplified44.0

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{1}{2 \cdot n}\right)}\right) \cdot \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{2 \cdot n}\right)}\right)}\]
    8. Taylor expanded around inf 33.0

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{1}{2 \cdot n}\right)}\right) \cdot \color{blue}{\left(0.5 \cdot \frac{1}{x \cdot n} - \left(0.25 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}} + 0.25 \cdot \frac{1}{{x}^{2} \cdot n}\right)\right)}\]
    9. Simplified32.3

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{1}{2 \cdot n}\right)}\right) \cdot \color{blue}{\left(\frac{\frac{0.5}{n}}{x} - \mathsf{fma}\left(\frac{0.25}{{n}^{2}}, \frac{-\log x}{x}, \frac{\frac{0.25}{{x}^{2}}}{n}\right)\right)}\]
    10. Using strategy rm
    11. Applied add-log-exp32.3

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{1}{2 \cdot n}\right)}\right) \cdot \left(\frac{\frac{0.5}{n}}{x} - \mathsf{fma}\left(\frac{0.25}{{n}^{2}}, \frac{-\log x}{x}, \color{blue}{\log \left(e^{\frac{\frac{0.25}{{x}^{2}}}{n}}\right)}\right)\right)\]
    12. Simplified32.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -100941949052182.515625:\\ \;\;\;\;\frac{\frac{1}{x}}{n} - \mathsf{fma}\left(\frac{\frac{-\log x}{n \cdot n}}{x}, 1, \frac{\frac{0.5}{n}}{{x}^{2}}\right)\\ \mathbf{elif}\;n \le 251407.4974749986722599714994430541992188:\\ \;\;\;\;\left(\sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n \cdot 2}\right)}\right) \cdot \left({x}^{\left(\frac{1}{n \cdot 2}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left({x}^{\left(\frac{1}{n \cdot 2}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{\frac{0.5}{n}}{x} - \mathsf{fma}\left(\frac{0.25}{{n}^{2}}, \frac{-\log x}{x}, \log \left(e^{\frac{0.25}{\left(x \cdot x\right) \cdot n}}\right)\right)\right)\\ \end{array}\]

Reproduce

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