Average Error: 29.3 → 22.6
Time: 17.1s
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 -7.380908236352897 \cdot 10^{-15}:\\ \;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left({x}^{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}}\right)}\right)}^{\left(\frac{\sqrt[3]{1}}{\sqrt[3]{n}}\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\ \;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\ \mathbf{else}:\\ \;\;\;\;\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)}}\\ \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 -7.380908236352897 \cdot 10^{-15}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left({x}^{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}}\right)}\right)}^{\left(\frac{\sqrt[3]{1}}{\sqrt[3]{n}}\right)}\\

\mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\
\;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\

\mathbf{else}:\\
\;\;\;\;\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)}}\\

\end{array}
double f(double x, double n) {
        double r74621 = x;
        double r74622 = 1.0;
        double r74623 = r74621 + r74622;
        double r74624 = n;
        double r74625 = r74622 / r74624;
        double r74626 = pow(r74623, r74625);
        double r74627 = pow(r74621, r74625);
        double r74628 = r74626 - r74627;
        return r74628;
}

double f(double x, double n) {
        double r74629 = 1.0;
        double r74630 = n;
        double r74631 = r74629 / r74630;
        double r74632 = -7.380908236352897e-15;
        bool r74633 = r74631 <= r74632;
        double r74634 = x;
        double r74635 = r74634 + r74629;
        double r74636 = pow(r74635, r74631);
        double r74637 = cbrt(r74629);
        double r74638 = r74637 * r74637;
        double r74639 = cbrt(r74630);
        double r74640 = r74639 * r74639;
        double r74641 = r74638 / r74640;
        double r74642 = pow(r74634, r74641);
        double r74643 = r74637 / r74639;
        double r74644 = pow(r74642, r74643);
        double r74645 = r74636 - r74644;
        double r74646 = 4.863908999478278e-23;
        bool r74647 = r74631 <= r74646;
        double r74648 = r74634 * r74630;
        double r74649 = r74629 / r74648;
        double r74650 = log(r74634);
        double r74651 = -r74650;
        double r74652 = 2.0;
        double r74653 = pow(r74630, r74652);
        double r74654 = r74634 * r74653;
        double r74655 = r74651 / r74654;
        double r74656 = 0.5;
        double r74657 = pow(r74634, r74652);
        double r74658 = r74657 * r74630;
        double r74659 = r74656 / r74658;
        double r74660 = fma(r74655, r74629, r74659);
        double r74661 = r74649 - r74660;
        double r74662 = pow(r74634, r74631);
        double r74663 = r74636 - r74662;
        double r74664 = cbrt(r74663);
        double r74665 = r74664 * r74664;
        double r74666 = r74665 * r74664;
        double r74667 = r74647 ? r74661 : r74666;
        double r74668 = r74633 ? r74645 : r74667;
        return r74668;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 3 regimes
  2. if (/ 1.0 n) < -7.380908236352897e-15

    1. Initial program 1.7

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

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{\color{blue}{\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \sqrt[3]{n}}}\right)}\]
    4. Applied add-cube-cbrt1.8

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \sqrt[3]{n}}\right)}\]
    5. Applied times-frac1.8

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\color{blue}{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{n}}\right)}}\]
    6. Applied pow-unpow1.8

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

    if -7.380908236352897e-15 < (/ 1.0 n) < 4.863908999478278e-23

    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.6

      \[\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. Simplified32.6

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

    if 4.863908999478278e-23 < (/ 1.0 n)

    1. Initial program 27.7

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

      \[\leadsto \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)}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification22.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -7.380908236352897 \cdot 10^{-15}:\\ \;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left({x}^{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}}\right)}\right)}^{\left(\frac{\sqrt[3]{1}}{\sqrt[3]{n}}\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\ \;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\ \mathbf{else}:\\ \;\;\;\;\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)}}\\ \end{array}\]

Reproduce

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