Average Error: 29.4 → 14.8
Time: 5.8s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -715053332982360.875 \lor \neg \left(x \le 82414.0244105997699\right):\\ \;\;\;\;\sqrt[3]{\mathsf{fma}\left(-0.037037037037037035, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.0329218106995884732, \frac{1}{{x}^{4}}, \frac{\frac{0.037037037037037035}{x}}{x}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left(\frac{\left(x + 1\right) - x}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\right)}^{3}}\\ \end{array}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\begin{array}{l}
\mathbf{if}\;x \le -715053332982360.875 \lor \neg \left(x \le 82414.0244105997699\right):\\
\;\;\;\;\sqrt[3]{\mathsf{fma}\left(-0.037037037037037035, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.0329218106995884732, \frac{1}{{x}^{4}}, \frac{\frac{0.037037037037037035}{x}}{x}\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt[3]{{\left(\frac{\left(x + 1\right) - x}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\right)}^{3}}\\

\end{array}
double f(double x) {
        double r65873 = x;
        double r65874 = 1.0;
        double r65875 = r65873 + r65874;
        double r65876 = cbrt(r65875);
        double r65877 = cbrt(r65873);
        double r65878 = r65876 - r65877;
        return r65878;
}

double f(double x) {
        double r65879 = x;
        double r65880 = -715053332982360.9;
        bool r65881 = r65879 <= r65880;
        double r65882 = 82414.02441059977;
        bool r65883 = r65879 <= r65882;
        double r65884 = !r65883;
        bool r65885 = r65881 || r65884;
        double r65886 = 0.037037037037037035;
        double r65887 = -r65886;
        double r65888 = 1.0;
        double r65889 = 3.0;
        double r65890 = pow(r65879, r65889);
        double r65891 = r65888 / r65890;
        double r65892 = 0.03292181069958847;
        double r65893 = 4.0;
        double r65894 = pow(r65879, r65893);
        double r65895 = r65888 / r65894;
        double r65896 = r65886 / r65879;
        double r65897 = r65896 / r65879;
        double r65898 = fma(r65892, r65895, r65897);
        double r65899 = fma(r65887, r65891, r65898);
        double r65900 = cbrt(r65899);
        double r65901 = 1.0;
        double r65902 = r65879 + r65901;
        double r65903 = r65902 - r65879;
        double r65904 = cbrt(r65902);
        double r65905 = cbrt(r65879);
        double r65906 = r65905 * r65905;
        double r65907 = cbrt(r65906);
        double r65908 = cbrt(r65905);
        double r65909 = fma(r65907, r65908, r65904);
        double r65910 = r65908 * r65909;
        double r65911 = r65907 * r65910;
        double r65912 = fma(r65904, r65904, r65911);
        double r65913 = r65903 / r65912;
        double r65914 = pow(r65913, r65889);
        double r65915 = cbrt(r65914);
        double r65916 = r65885 ? r65900 : r65915;
        return r65916;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -715053332982360.9 or 82414.02441059977 < x

    1. Initial program 60.7

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube60.7

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)\right) \cdot \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}}\]
    4. Simplified60.7

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}^{3}}}\]
    5. Taylor expanded around inf 31.6

      \[\leadsto \sqrt[3]{\color{blue}{\left(0.037037037037037035 \cdot \frac{1}{{x}^{2}} + 0.0329218106995884732 \cdot \frac{1}{{x}^{4}}\right) - 0.037037037037037035 \cdot \frac{1}{{x}^{3}}}}\]
    6. Simplified30.8

      \[\leadsto \sqrt[3]{\color{blue}{\mathsf{fma}\left(-0.037037037037037035, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.0329218106995884732, \frac{1}{{x}^{4}}, \frac{\frac{0.037037037037037035}{x}}{x}\right)\right)}}\]

    if -715053332982360.9 < x < 82414.02441059977

    1. Initial program 0.7

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube0.8

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)\right) \cdot \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}}\]
    4. Simplified0.8

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}^{3}}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt0.8

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1} - \sqrt[3]{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}\right)}^{3}}\]
    7. Applied cbrt-prod0.8

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{x + 1} - \color{blue}{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}}\right)}^{3}}\]
    8. Using strategy rm
    9. Applied flip3--0.7

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -715053332982360.875 \lor \neg \left(x \le 82414.0244105997699\right):\\ \;\;\;\;\sqrt[3]{\mathsf{fma}\left(-0.037037037037037035, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.0329218106995884732, \frac{1}{{x}^{4}}, \frac{\frac{0.037037037037037035}{x}}{x}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left(\frac{\left(x + 1\right) - x}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\right)}^{3}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020059 +o rules:numerics
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))