\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;\sqrt[3]{1 + x} - \sqrt[3]{x} \le 2.5441169569262456 \cdot 10^{-05}:\\
\;\;\;\;\left(\sqrt[3]{x} - \sqrt[3]{-1} \cdot \sqrt[3]{-x}\right) + \left(\frac{\frac{-1}{9}}{x} + \frac{1}{3}\right) \cdot \frac{\sqrt[3]{x}}{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x + -1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\
\end{array}double f(double x) {
double r4415426 = x;
double r4415427 = 1.0;
double r4415428 = r4415426 + r4415427;
double r4415429 = cbrt(r4415428);
double r4415430 = cbrt(r4415426);
double r4415431 = r4415429 - r4415430;
return r4415431;
}
double f(double x) {
double r4415432 = 1.0;
double r4415433 = x;
double r4415434 = r4415432 + r4415433;
double r4415435 = cbrt(r4415434);
double r4415436 = cbrt(r4415433);
double r4415437 = r4415435 - r4415436;
double r4415438 = 2.5441169569262456e-05;
bool r4415439 = r4415437 <= r4415438;
double r4415440 = -1.0;
double r4415441 = cbrt(r4415440);
double r4415442 = -r4415433;
double r4415443 = cbrt(r4415442);
double r4415444 = r4415441 * r4415443;
double r4415445 = r4415436 - r4415444;
double r4415446 = -0.1111111111111111;
double r4415447 = r4415446 / r4415433;
double r4415448 = 0.3333333333333333;
double r4415449 = r4415447 + r4415448;
double r4415450 = r4415436 / r4415433;
double r4415451 = r4415449 * r4415450;
double r4415452 = r4415445 + r4415451;
double r4415453 = r4415433 * r4415433;
double r4415454 = r4415453 + r4415440;
double r4415455 = cbrt(r4415454);
double r4415456 = r4415433 - r4415432;
double r4415457 = cbrt(r4415456);
double r4415458 = r4415455 / r4415457;
double r4415459 = r4415458 - r4415436;
double r4415460 = r4415439 ? r4415452 : r4415459;
return r4415460;
}



Bits error versus x
Results
if (- (cbrt (+ x 1)) (cbrt x)) < 2.5441169569262456e-05Initial program 60.6
Taylor expanded around -inf 62.4
Simplified0.6
if 2.5441169569262456e-05 < (- (cbrt (+ x 1)) (cbrt x)) Initial program 0.3
rmApplied flip-+0.3
Applied cbrt-div0.3
Simplified0.3
Final simplification0.4
herbie shell --seed 2019124
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))