\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -3965.7270635849572 \lor \neg \left(x \le 5204.30305478661921\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}:\\
\;\;\;\;\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}\\
\end{array}double f(double x) {
double r74714 = x;
double r74715 = 1.0;
double r74716 = r74714 + r74715;
double r74717 = cbrt(r74716);
double r74718 = cbrt(r74714);
double r74719 = r74717 - r74718;
return r74719;
}
double f(double x) {
double r74720 = x;
double r74721 = -3965.7270635849572;
bool r74722 = r74720 <= r74721;
double r74723 = 5204.303054786619;
bool r74724 = r74720 <= r74723;
double r74725 = !r74724;
bool r74726 = r74722 || r74725;
double r74727 = 0.037037037037037035;
double r74728 = -r74727;
double r74729 = 1.0;
double r74730 = 3.0;
double r74731 = pow(r74720, r74730);
double r74732 = r74729 / r74731;
double r74733 = 0.03292181069958847;
double r74734 = 4.0;
double r74735 = pow(r74720, r74734);
double r74736 = r74729 / r74735;
double r74737 = r74727 / r74720;
double r74738 = r74737 / r74720;
double r74739 = fma(r74733, r74736, r74738);
double r74740 = fma(r74728, r74732, r74739);
double r74741 = cbrt(r74740);
double r74742 = 1.0;
double r74743 = r74720 + r74742;
double r74744 = cbrt(r74743);
double r74745 = cbrt(r74720);
double r74746 = cbrt(r74745);
double r74747 = r74746 * r74746;
double r74748 = r74747 * r74746;
double r74749 = r74744 - r74748;
double r74750 = r74726 ? r74741 : r74749;
return r74750;
}



Bits error versus x
if x < -3965.7270635849572 or 5204.303054786619 < x Initial program 60.3
rmApplied add-cbrt-cube60.3
Simplified60.3
Taylor expanded around inf 31.6
Simplified30.8
if -3965.7270635849572 < x < 5204.303054786619Initial program 0.1
rmApplied add-cube-cbrt0.1
Final simplification15.2
herbie shell --seed 2020046 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))