\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;
}



Bits error versus x
if x < -715053332982360.9 or 82414.02441059977 < x Initial program 60.7
rmApplied add-cbrt-cube60.7
Simplified60.7
Taylor expanded around inf 31.6
Simplified30.8
if -715053332982360.9 < x < 82414.02441059977Initial program 0.7
rmApplied add-cbrt-cube0.8
Simplified0.8
rmApplied add-cube-cbrt0.8
Applied cbrt-prod0.8
rmApplied flip3--0.7
Simplified0.1
Simplified0.1
Final simplification14.8
herbie shell --seed 2020059 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))