Average Error: 29.4 → 22.4
Time: 36.5s
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 r141865 = x;
        double r141866 = 1.0;
        double r141867 = r141865 + r141866;
        double r141868 = n;
        double r141869 = r141866 / r141868;
        double r141870 = pow(r141867, r141869);
        double r141871 = pow(r141865, r141869);
        double r141872 = r141870 - r141871;
        return r141872;
}

double f(double x, double n) {
        double r141873 = 1.0;
        double r141874 = n;
        double r141875 = r141873 / r141874;
        double r141876 = -7930394575479.278;
        bool r141877 = r141875 <= r141876;
        double r141878 = 4.970657311465403e-08;
        bool r141879 = r141875 <= r141878;
        double r141880 = !r141879;
        bool r141881 = r141877 || r141880;
        double r141882 = x;
        double r141883 = r141882 + r141873;
        double r141884 = cbrt(r141883);
        double r141885 = r141884 * r141884;
        double r141886 = pow(r141885, r141875);
        double r141887 = pow(r141884, r141875);
        double r141888 = pow(r141882, r141875);
        double r141889 = -r141888;
        double r141890 = fma(r141886, r141887, r141889);
        double r141891 = r141882 * r141874;
        double r141892 = r141873 / r141891;
        double r141893 = r141874 * r141874;
        double r141894 = r141873 / r141893;
        double r141895 = log(r141882);
        double r141896 = -r141895;
        double r141897 = r141896 / r141882;
        double r141898 = 0.5;
        double r141899 = 2.0;
        double r141900 = pow(r141882, r141899);
        double r141901 = r141898 / r141900;
        double r141902 = r141901 / r141874;
        double r141903 = fma(r141894, r141897, r141902);
        double r141904 = r141892 - r141903;
        double r141905 = r141881 ? r141890 : r141904;
        return r141905;
}

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