\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -3618.8027686995374 \lor \neg \left(x \le 8001.0700410453628\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}:\\
\;\;\;\;\mathsf{fma}\left(\sqrt{\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}} \cdot \sqrt{\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{x}\right)\\
\end{array}double f(double x) {
double r71773 = x;
double r71774 = 1.0;
double r71775 = r71773 + r71774;
double r71776 = cbrt(r71775);
double r71777 = cbrt(r71773);
double r71778 = r71776 - r71777;
return r71778;
}
double f(double x) {
double r71779 = x;
double r71780 = -3618.8027686995374;
bool r71781 = r71779 <= r71780;
double r71782 = 8001.070041045363;
bool r71783 = r71779 <= r71782;
double r71784 = !r71783;
bool r71785 = r71781 || r71784;
double r71786 = 0.037037037037037035;
double r71787 = -r71786;
double r71788 = 1.0;
double r71789 = 3.0;
double r71790 = pow(r71779, r71789);
double r71791 = r71788 / r71790;
double r71792 = 0.03292181069958847;
double r71793 = 4.0;
double r71794 = pow(r71779, r71793);
double r71795 = r71788 / r71794;
double r71796 = r71786 / r71779;
double r71797 = r71796 / r71779;
double r71798 = fma(r71792, r71795, r71797);
double r71799 = fma(r71787, r71791, r71798);
double r71800 = cbrt(r71799);
double r71801 = 1.0;
double r71802 = r71779 + r71801;
double r71803 = cbrt(r71802);
double r71804 = r71803 * r71803;
double r71805 = cbrt(r71804);
double r71806 = sqrt(r71805);
double r71807 = r71806 * r71806;
double r71808 = cbrt(r71803);
double r71809 = cbrt(r71779);
double r71810 = -r71809;
double r71811 = fma(r71807, r71808, r71810);
double r71812 = r71785 ? r71800 : r71811;
return r71812;
}



Bits error versus x
if x < -3618.8027686995374 or 8001.070041045363 < x Initial program 60.2
rmApplied add-cbrt-cube60.2
Simplified60.2
Taylor expanded around inf 31.6
Simplified30.8
if -3618.8027686995374 < x < 8001.070041045363Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied cbrt-prod0.1
Applied fma-neg0.1
rmApplied add-sqr-sqrt0.1
Final simplification15.3
herbie shell --seed 2020036 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))