\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4454.769258694103882589843124151229858398:\\
\;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212 + 0.3333333333333333148296162562473909929395 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111049432054187491303309798 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\
\mathbf{elif}\;x \le 0.002473014550763814704825716006553193437867:\\
\;\;\;\;\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{{x}^{\frac{2}{3}} + \sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right)}\\
\end{array}double f(double x) {
double r41990 = x;
double r41991 = 1.0;
double r41992 = r41990 + r41991;
double r41993 = cbrt(r41992);
double r41994 = cbrt(r41990);
double r41995 = r41993 - r41994;
return r41995;
}
double f(double x) {
double r41996 = x;
double r41997 = -4454.769258694104;
bool r41998 = r41996 <= r41997;
double r41999 = 1.0;
double r42000 = 8.0;
double r42001 = pow(r41996, r42000);
double r42002 = r41999 / r42001;
double r42003 = cbrt(r42002);
double r42004 = 0.06172839506172839;
double r42005 = r42003 * r42004;
double r42006 = 0.3333333333333333;
double r42007 = 2.0;
double r42008 = pow(r41996, r42007);
double r42009 = r41999 / r42008;
double r42010 = cbrt(r42009);
double r42011 = r42006 * r42010;
double r42012 = r42005 + r42011;
double r42013 = 0.1111111111111111;
double r42014 = 5.0;
double r42015 = pow(r41996, r42014);
double r42016 = r41999 / r42015;
double r42017 = cbrt(r42016);
double r42018 = r42013 * r42017;
double r42019 = r42012 - r42018;
double r42020 = 0.0024730145507638147;
bool r42021 = r41996 <= r42020;
double r42022 = 1.0;
double r42023 = r41996 + r42022;
double r42024 = cbrt(r42023);
double r42025 = cbrt(r41996);
double r42026 = cbrt(r42025);
double r42027 = r42026 * r42026;
double r42028 = r42027 * r42026;
double r42029 = r42024 - r42028;
double r42030 = 0.6666666666666666;
double r42031 = pow(r41996, r42030);
double r42032 = r42024 + r42025;
double r42033 = r42024 * r42032;
double r42034 = r42031 + r42033;
double r42035 = r42022 / r42034;
double r42036 = r42021 ? r42029 : r42035;
double r42037 = r41998 ? r42019 : r42036;
return r42037;
}



Bits error versus x
Results
if x < -4454.769258694104Initial program 60.2
Taylor expanded around inf 44.7
Simplified31.4
if -4454.769258694104 < x < 0.0024730145507638147Initial program 0.1
rmApplied add-cube-cbrt0.1
if 0.0024730145507638147 < x Initial program 59.4
rmApplied flip3--59.2
Simplified1.0
Simplified4.5
Final simplification8.9
herbie shell --seed 2019208
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))