\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.539993431525089741023971091851498224407 \cdot 10^{61}:\\
\;\;\;\;\frac{\left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) \cdot \left(\left(0.3333333333333333148296162562473909929395 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)}{\sqrt[3]{x + 1} + \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\\
\mathbf{elif}\;x \le 3.033604968776959065479559285449795424938:\\
\;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) \cdot \frac{0 + 1}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) + {x}^{\frac{2}{3}}}}{\sqrt[3]{x + 1} + \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\\
\end{array}double f(double x) {
double r87857 = x;
double r87858 = 1.0;
double r87859 = r87857 + r87858;
double r87860 = cbrt(r87859);
double r87861 = cbrt(r87857);
double r87862 = r87860 - r87861;
return r87862;
}
double f(double x) {
double r87863 = x;
double r87864 = -4.53999343152509e+61;
bool r87865 = r87863 <= r87864;
double r87866 = 1.0;
double r87867 = r87863 + r87866;
double r87868 = cbrt(r87867);
double r87869 = cbrt(r87863);
double r87870 = r87868 + r87869;
double r87871 = 0.3333333333333333;
double r87872 = 1.0;
double r87873 = 2.0;
double r87874 = pow(r87863, r87873);
double r87875 = r87872 / r87874;
double r87876 = 0.3333333333333333;
double r87877 = pow(r87875, r87876);
double r87878 = r87871 * r87877;
double r87879 = 0.06172839506172839;
double r87880 = 8.0;
double r87881 = pow(r87863, r87880);
double r87882 = r87872 / r87881;
double r87883 = pow(r87882, r87876);
double r87884 = r87879 * r87883;
double r87885 = r87878 + r87884;
double r87886 = 0.1111111111111111;
double r87887 = 5.0;
double r87888 = pow(r87863, r87887);
double r87889 = r87872 / r87888;
double r87890 = pow(r87889, r87876);
double r87891 = r87886 * r87890;
double r87892 = r87885 - r87891;
double r87893 = r87870 * r87892;
double r87894 = cbrt(r87869);
double r87895 = r87894 * r87894;
double r87896 = r87895 * r87894;
double r87897 = r87868 + r87896;
double r87898 = r87893 / r87897;
double r87899 = 3.033604968776959;
bool r87900 = r87863 <= r87899;
double r87901 = r87868 * r87868;
double r87902 = r87869 * r87869;
double r87903 = cbrt(r87902);
double r87904 = r87903 * r87894;
double r87905 = r87904 * r87869;
double r87906 = r87901 - r87905;
double r87907 = r87906 / r87870;
double r87908 = 0.0;
double r87909 = r87908 + r87866;
double r87910 = r87868 * r87870;
double r87911 = 0.6666666666666666;
double r87912 = pow(r87863, r87911);
double r87913 = r87910 + r87912;
double r87914 = r87909 / r87913;
double r87915 = r87870 * r87914;
double r87916 = r87915 / r87897;
double r87917 = r87900 ? r87907 : r87916;
double r87918 = r87865 ? r87898 : r87917;
return r87918;
}



Bits error versus x
Results
if x < -4.53999343152509e+61Initial program 61.2
rmApplied flip--61.2
rmApplied add-cube-cbrt61.2
rmApplied difference-of-squares61.2
Taylor expanded around inf 40.0
if -4.53999343152509e+61 < x < 3.033604968776959Initial program 4.7
rmApplied flip--4.7
rmApplied add-cube-cbrt4.7
Applied cbrt-prod4.6
if 3.033604968776959 < x Initial program 59.6
rmApplied flip--59.6
rmApplied add-cube-cbrt59.6
rmApplied difference-of-squares59.6
rmApplied flip3--59.5
Simplified1.2
Simplified4.5
Final simplification11.8
herbie shell --seed 2020001
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))