Average Error: 29.4 → 22.4
Time: 35.7s
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 -7930394575479.2783203125 \lor \neg \left(\frac{1}{n} \le 4.970657311465403154655264775924061737555 \cdot 10^{-8}\right):\\ \;\;\;\;\mathsf{fma}\left({\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, -{x}^{\left(\frac{1}{n}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{1}{n \cdot n}, \frac{-\log x}{x}, \frac{\frac{0.5}{{x}^{2}}}{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 -7930394575479.2783203125 \lor \neg \left(\frac{1}{n} \le 4.970657311465403154655264775924061737555 \cdot 10^{-8}\right):\\
\;\;\;\;\mathsf{fma}\left({\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, -{x}^{\left(\frac{1}{n}\right)}\right)\\

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

\end{array}
double f(double x, double n) {
        double r89710 = x;
        double r89711 = 1.0;
        double r89712 = r89710 + r89711;
        double r89713 = n;
        double r89714 = r89711 / r89713;
        double r89715 = pow(r89712, r89714);
        double r89716 = pow(r89710, r89714);
        double r89717 = r89715 - r89716;
        return r89717;
}

double f(double x, double n) {
        double r89718 = 1.0;
        double r89719 = n;
        double r89720 = r89718 / r89719;
        double r89721 = -7930394575479.278;
        bool r89722 = r89720 <= r89721;
        double r89723 = 4.970657311465403e-08;
        bool r89724 = r89720 <= r89723;
        double r89725 = !r89724;
        bool r89726 = r89722 || r89725;
        double r89727 = x;
        double r89728 = r89727 + r89718;
        double r89729 = cbrt(r89728);
        double r89730 = r89729 * r89729;
        double r89731 = pow(r89730, r89720);
        double r89732 = pow(r89729, r89720);
        double r89733 = pow(r89727, r89720);
        double r89734 = -r89733;
        double r89735 = fma(r89731, r89732, r89734);
        double r89736 = r89727 * r89719;
        double r89737 = r89718 / r89736;
        double r89738 = r89719 * r89719;
        double r89739 = r89718 / r89738;
        double r89740 = log(r89727);
        double r89741 = -r89740;
        double r89742 = r89741 / r89727;
        double r89743 = 0.5;
        double r89744 = 2.0;
        double r89745 = pow(r89727, r89744);
        double r89746 = r89743 / r89745;
        double r89747 = r89746 / r89719;
        double r89748 = fma(r89739, r89742, r89747);
        double r89749 = r89737 - r89748;
        double r89750 = r89726 ? r89735 : r89749;
        return r89750;
}

Error

Bits error versus x

Bits error versus n

Derivation

  1. Split input into 2 regimes
  2. if (/ 1.0 n) < -7930394575479.278 or 4.970657311465403e-08 < (/ 1.0 n)

    1. Initial program 7.7

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

      \[\leadsto {\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)}\]
    4. Applied unpow-prod-down7.8

      \[\leadsto \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)}\]
    5. Applied fma-neg7.8

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

    if -7930394575479.278 < (/ 1.0 n) < 4.970657311465403e-08

    1. Initial program 44.9

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Taylor expanded around inf 32.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. Simplified32.7

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -7930394575479.2783203125 \lor \neg \left(\frac{1}{n} \le 4.970657311465403154655264775924061737555 \cdot 10^{-8}\right):\\ \;\;\;\;\mathsf{fma}\left({\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, -{x}^{\left(\frac{1}{n}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{1}{n \cdot n}, \frac{-\log x}{x}, \frac{\frac{0.5}{{x}^{2}}}{n}\right)\\ \end{array}\]

Reproduce

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