\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.4788638807140642 \cdot 10^{61} \lor \neg \left(x \le 4007.8839921622375\right):\\
\;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.333333333333333315, 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{x}\right)\\
\end{array}double f(double x) {
double r74653 = x;
double r74654 = 1.0;
double r74655 = r74653 + r74654;
double r74656 = cbrt(r74655);
double r74657 = cbrt(r74653);
double r74658 = r74656 - r74657;
return r74658;
}
double f(double x) {
double r74659 = x;
double r74660 = -4.478863880714064e+61;
bool r74661 = r74659 <= r74660;
double r74662 = 4007.8839921622375;
bool r74663 = r74659 <= r74662;
double r74664 = !r74663;
bool r74665 = r74661 || r74664;
double r74666 = 1.0;
double r74667 = 2.0;
double r74668 = pow(r74659, r74667);
double r74669 = r74666 / r74668;
double r74670 = 0.3333333333333333;
double r74671 = pow(r74669, r74670);
double r74672 = 0.3333333333333333;
double r74673 = 0.06172839506172839;
double r74674 = 8.0;
double r74675 = pow(r74659, r74674);
double r74676 = r74666 / r74675;
double r74677 = pow(r74676, r74670);
double r74678 = r74673 * r74677;
double r74679 = 0.1111111111111111;
double r74680 = 5.0;
double r74681 = pow(r74659, r74680);
double r74682 = r74666 / r74681;
double r74683 = pow(r74682, r74670);
double r74684 = r74679 * r74683;
double r74685 = r74678 - r74684;
double r74686 = fma(r74671, r74672, r74685);
double r74687 = 1.0;
double r74688 = r74659 + r74687;
double r74689 = cbrt(r74688);
double r74690 = cbrt(r74689);
double r74691 = r74690 * r74690;
double r74692 = cbrt(r74659);
double r74693 = -r74692;
double r74694 = fma(r74691, r74690, r74693);
double r74695 = r74665 ? r74686 : r74694;
return r74695;
}



Bits error versus x
if x < -4.478863880714064e+61 or 4007.8839921622375 < x Initial program 60.5
Taylor expanded around inf 36.5
Simplified36.5
if -4.478863880714064e+61 < x < 4007.8839921622375Initial program 4.9
rmApplied add-cube-cbrt4.9
Applied fma-neg4.9
Final simplification19.1
herbie shell --seed 2020056 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))