\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.51522985699883181 \cdot 10^{61}:\\
\;\;\;\;\left(0.333333333333333315 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\
\mathbf{elif}\;x \le 0.00751852742058336989:\\
\;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{0 + 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 r72429 = x;
double r72430 = 1.0;
double r72431 = r72429 + r72430;
double r72432 = cbrt(r72431);
double r72433 = cbrt(r72429);
double r72434 = r72432 - r72433;
return r72434;
}
double f(double x) {
double r72435 = x;
double r72436 = -4.515229856998832e+61;
bool r72437 = r72435 <= r72436;
double r72438 = 0.3333333333333333;
double r72439 = 1.0;
double r72440 = 2.0;
double r72441 = pow(r72435, r72440);
double r72442 = r72439 / r72441;
double r72443 = 0.3333333333333333;
double r72444 = pow(r72442, r72443);
double r72445 = r72438 * r72444;
double r72446 = 0.06172839506172839;
double r72447 = 8.0;
double r72448 = pow(r72435, r72447);
double r72449 = r72439 / r72448;
double r72450 = pow(r72449, r72443);
double r72451 = r72446 * r72450;
double r72452 = r72445 + r72451;
double r72453 = 0.1111111111111111;
double r72454 = 5.0;
double r72455 = pow(r72435, r72454);
double r72456 = r72439 / r72455;
double r72457 = pow(r72456, r72443);
double r72458 = r72453 * r72457;
double r72459 = r72452 - r72458;
double r72460 = 0.00751852742058337;
bool r72461 = r72435 <= r72460;
double r72462 = 1.0;
double r72463 = r72435 + r72462;
double r72464 = cbrt(r72463);
double r72465 = r72464 * r72464;
double r72466 = cbrt(r72435);
double r72467 = r72466 * r72466;
double r72468 = cbrt(r72467);
double r72469 = cbrt(r72466);
double r72470 = r72468 * r72469;
double r72471 = r72470 * r72466;
double r72472 = r72465 - r72471;
double r72473 = r72464 + r72466;
double r72474 = r72472 / r72473;
double r72475 = 0.0;
double r72476 = r72475 + r72462;
double r72477 = r72464 * r72473;
double r72478 = 0.6666666666666666;
double r72479 = pow(r72435, r72478);
double r72480 = r72477 + r72479;
double r72481 = r72476 / r72480;
double r72482 = r72461 ? r72474 : r72481;
double r72483 = r72437 ? r72459 : r72482;
return r72483;
}



Bits error versus x
Results
if x < -4.515229856998832e+61Initial program 61.2
Taylor expanded around inf 40.2
if -4.515229856998832e+61 < x < 0.00751852742058337Initial program 5.2
rmApplied flip--5.2
rmApplied add-cube-cbrt5.2
Applied cbrt-prod5.1
if 0.00751852742058337 < x Initial program 59.0
rmApplied flip3--58.8
Simplified1.0
Simplified4.4
Final simplification12.2
herbie shell --seed 2020049
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))