\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.450208027756156638035805139753243266011 \cdot 10^{61} \lor \neg \left(x \le 3852.440338476156284741591662168502807617\right):\\
\;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.3333333333333333148296162562473909929395, 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) + \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\left(-\sqrt[3]{\sqrt[3]{x}}\right) + \sqrt[3]{\sqrt[3]{x}}\right)\right) + \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\left(-\sqrt[3]{\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x}}}\right) + \sqrt[3]{\sqrt[3]{x}}\right)\\
\end{array}double f(double x) {
double r54730 = x;
double r54731 = 1.0;
double r54732 = r54730 + r54731;
double r54733 = cbrt(r54732);
double r54734 = cbrt(r54730);
double r54735 = r54733 - r54734;
return r54735;
}
double f(double x) {
double r54736 = x;
double r54737 = -4.4502080277561566e+61;
bool r54738 = r54736 <= r54737;
double r54739 = 3852.4403384761563;
bool r54740 = r54736 <= r54739;
double r54741 = !r54740;
bool r54742 = r54738 || r54741;
double r54743 = 1.0;
double r54744 = 2.0;
double r54745 = pow(r54736, r54744);
double r54746 = r54743 / r54745;
double r54747 = 0.3333333333333333;
double r54748 = pow(r54746, r54747);
double r54749 = 0.3333333333333333;
double r54750 = 0.06172839506172839;
double r54751 = 8.0;
double r54752 = pow(r54736, r54751);
double r54753 = r54743 / r54752;
double r54754 = pow(r54753, r54747);
double r54755 = r54750 * r54754;
double r54756 = 0.1111111111111111;
double r54757 = 5.0;
double r54758 = pow(r54736, r54757);
double r54759 = r54743 / r54758;
double r54760 = pow(r54759, r54747);
double r54761 = r54756 * r54760;
double r54762 = r54755 - r54761;
double r54763 = fma(r54748, r54749, r54762);
double r54764 = 1.0;
double r54765 = r54736 + r54764;
double r54766 = cbrt(r54765);
double r54767 = r54766 * r54766;
double r54768 = cbrt(r54767);
double r54769 = cbrt(r54766);
double r54770 = cbrt(r54736);
double r54771 = r54770 * r54770;
double r54772 = cbrt(r54771);
double r54773 = cbrt(r54770);
double r54774 = r54772 * r54773;
double r54775 = -r54774;
double r54776 = fma(r54768, r54769, r54775);
double r54777 = -r54773;
double r54778 = r54777 + r54773;
double r54779 = r54772 * r54778;
double r54780 = r54776 + r54779;
double r54781 = r54773 * r54773;
double r54782 = cbrt(r54781);
double r54783 = cbrt(r54773);
double r54784 = r54782 * r54783;
double r54785 = -r54784;
double r54786 = r54785 + r54773;
double r54787 = r54772 * r54786;
double r54788 = r54780 + r54787;
double r54789 = r54742 ? r54763 : r54788;
return r54789;
}



Bits error versus x
if x < -4.4502080277561566e+61 or 3852.4403384761563 < x Initial program 60.6
Taylor expanded around inf 36.2
Simplified36.2
if -4.4502080277561566e+61 < x < 3852.4403384761563Initial program 4.7
rmApplied add-log-exp5.2
Applied add-log-exp5.2
Applied diff-log5.2
Simplified4.8
rmApplied add-cube-cbrt4.7
Applied cbrt-prod4.7
Applied *-un-lft-identity4.7
Applied cbrt-prod4.7
Applied prod-diff4.7
Applied exp-sum4.7
Applied log-prod4.7
Simplified4.7
Simplified4.7
rmApplied add-cube-cbrt4.7
Applied cbrt-prod4.6
rmApplied add-cube-cbrt4.7
Applied cbrt-prod4.7
Applied prod-diff4.7
Simplified4.7
Final simplification18.7
herbie shell --seed 2019362 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))