\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;\sqrt[3]{1 + x} - \sqrt[3]{x} \le 1.0947415319151332 \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}:\\
\;\;\;\;\sqrt[3]{1 + x} - \sqrt[3]{x}\\
\end{array}double f(double x) {
double r2302373 = x;
double r2302374 = 1.0;
double r2302375 = r2302373 + r2302374;
double r2302376 = cbrt(r2302375);
double r2302377 = cbrt(r2302373);
double r2302378 = r2302376 - r2302377;
return r2302378;
}
double f(double x) {
double r2302379 = 1.0;
double r2302380 = x;
double r2302381 = r2302379 + r2302380;
double r2302382 = cbrt(r2302381);
double r2302383 = cbrt(r2302380);
double r2302384 = r2302382 - r2302383;
double r2302385 = 1.0947415319151332e-05;
bool r2302386 = r2302384 <= r2302385;
double r2302387 = -1.0;
double r2302388 = cbrt(r2302387);
double r2302389 = -r2302380;
double r2302390 = cbrt(r2302389);
double r2302391 = r2302388 * r2302390;
double r2302392 = r2302383 - r2302391;
double r2302393 = -0.1111111111111111;
double r2302394 = r2302393 / r2302380;
double r2302395 = 0.3333333333333333;
double r2302396 = r2302394 + r2302395;
double r2302397 = r2302383 / r2302380;
double r2302398 = r2302396 * r2302397;
double r2302399 = r2302392 + r2302398;
double r2302400 = r2302386 ? r2302399 : r2302384;
return r2302400;
}



Bits error versus x
Results
if (- (cbrt (+ x 1)) (cbrt x)) < 1.0947415319151332e-05Initial program 60.5
Taylor expanded around -inf 62.4
Simplified0.6
if 1.0947415319151332e-05 < (- (cbrt (+ x 1)) (cbrt x)) Initial program 0.3
Taylor expanded around 0 30.9
Simplified0.3
Final simplification0.4
herbie shell --seed 2019107
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))