\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -3435.29454990893873:\\
\;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392 + 0.333333333333333315 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\
\mathbf{elif}\;x \le 0.10532502913683747:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) + {x}^{\frac{2}{3}}}\\
\end{array}double f(double x) {
double r63764 = x;
double r63765 = 1.0;
double r63766 = r63764 + r63765;
double r63767 = cbrt(r63766);
double r63768 = cbrt(r63764);
double r63769 = r63767 - r63768;
return r63769;
}
double f(double x) {
double r63770 = x;
double r63771 = -3435.2945499089387;
bool r63772 = r63770 <= r63771;
double r63773 = 1.0;
double r63774 = 8.0;
double r63775 = pow(r63770, r63774);
double r63776 = r63773 / r63775;
double r63777 = cbrt(r63776);
double r63778 = 0.06172839506172839;
double r63779 = r63777 * r63778;
double r63780 = 0.3333333333333333;
double r63781 = 2.0;
double r63782 = pow(r63770, r63781);
double r63783 = r63773 / r63782;
double r63784 = cbrt(r63783);
double r63785 = r63780 * r63784;
double r63786 = r63779 + r63785;
double r63787 = 0.1111111111111111;
double r63788 = 5.0;
double r63789 = pow(r63770, r63788);
double r63790 = r63773 / r63789;
double r63791 = cbrt(r63790);
double r63792 = r63787 * r63791;
double r63793 = r63786 - r63792;
double r63794 = 0.10532502913683747;
bool r63795 = r63770 <= r63794;
double r63796 = r63770 * r63770;
double r63797 = 1.0;
double r63798 = r63797 * r63797;
double r63799 = r63796 - r63798;
double r63800 = cbrt(r63799);
double r63801 = r63770 - r63797;
double r63802 = cbrt(r63801);
double r63803 = r63800 / r63802;
double r63804 = cbrt(r63770);
double r63805 = r63803 - r63804;
double r63806 = r63770 + r63797;
double r63807 = cbrt(r63806);
double r63808 = r63807 + r63804;
double r63809 = r63807 * r63808;
double r63810 = 0.6666666666666666;
double r63811 = pow(r63770, r63810);
double r63812 = r63809 + r63811;
double r63813 = r63797 / r63812;
double r63814 = r63795 ? r63805 : r63813;
double r63815 = r63772 ? r63793 : r63814;
return r63815;
}



Bits error versus x
Results
if x < -3435.2945499089387Initial program 60.2
Taylor expanded around inf 44.9
Simplified30.7
if -3435.2945499089387 < x < 0.10532502913683747Initial program 0.1
rmApplied flip-+0.1
Applied cbrt-div0.1
if 0.10532502913683747 < x Initial program 59.5
rmApplied flip3--59.5
Simplified1.0
Simplified4.4
Final simplification8.9
herbie shell --seed 2020042
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))