Average Error: 29.4 → 22.0
Time: 53.4s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -74876590.1217467784881591796875:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{0.5}{\left(x \cdot n\right) \cdot x}\right) + \frac{\log x \cdot 1}{n \cdot \left(x \cdot n\right)}\\ \mathbf{elif}\;n \le 33522299.5052917301654815673828125:\\ \;\;\;\;\sqrt[3]{\left(\left(\left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)}\right)\right) \cdot {\left(1 + x\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{0.5}{\left(x \cdot n\right) \cdot x}\right) + \frac{\log x \cdot 1}{n \cdot \left(x \cdot n\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 -74876590.1217467784881591796875:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{0.5}{\left(x \cdot n\right) \cdot x}\right) + \frac{\log x \cdot 1}{n \cdot \left(x \cdot n\right)}\\

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

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

\end{array}
double f(double x, double n) {
        double r2217555 = x;
        double r2217556 = 1.0;
        double r2217557 = r2217555 + r2217556;
        double r2217558 = n;
        double r2217559 = r2217556 / r2217558;
        double r2217560 = pow(r2217557, r2217559);
        double r2217561 = pow(r2217555, r2217559);
        double r2217562 = r2217560 - r2217561;
        return r2217562;
}

double f(double x, double n) {
        double r2217563 = n;
        double r2217564 = -74876590.12174678;
        bool r2217565 = r2217563 <= r2217564;
        double r2217566 = 1.0;
        double r2217567 = r2217566 / r2217563;
        double r2217568 = x;
        double r2217569 = r2217567 / r2217568;
        double r2217570 = 0.5;
        double r2217571 = r2217568 * r2217563;
        double r2217572 = r2217571 * r2217568;
        double r2217573 = r2217570 / r2217572;
        double r2217574 = r2217569 - r2217573;
        double r2217575 = log(r2217568);
        double r2217576 = r2217575 * r2217566;
        double r2217577 = r2217563 * r2217571;
        double r2217578 = r2217576 / r2217577;
        double r2217579 = r2217574 + r2217578;
        double r2217580 = 33522299.50529173;
        bool r2217581 = r2217563 <= r2217580;
        double r2217582 = r2217566 + r2217568;
        double r2217583 = pow(r2217582, r2217567);
        double r2217584 = /* ERROR: no posit support in C */;
        double r2217585 = /* ERROR: no posit support in C */;
        double r2217586 = r2217585 * r2217583;
        double r2217587 = r2217586 * r2217583;
        double r2217588 = cbrt(r2217587);
        double r2217589 = pow(r2217568, r2217567);
        double r2217590 = r2217588 - r2217589;
        double r2217591 = r2217581 ? r2217590 : r2217579;
        double r2217592 = r2217565 ? r2217579 : r2217591;
        return r2217592;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 2 regimes
  2. if n < -74876590.12174678 or 33522299.50529173 < n

    1. Initial program 44.8

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

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

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

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

    if -74876590.12174678 < n < 33522299.50529173

    1. Initial program 8.6

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

      \[\leadsto \color{blue}{\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{1}{n}\right)}\]
    4. Using strategy rm
    5. Applied insert-posit168.7

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

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

Reproduce

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