\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.51522985699883181 \cdot 10^{61}:\\
\;\;\;\;\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{elif}\;x \le 3308.7385413926622:\\
\;\;\;\;\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{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.04938271604938271, 0.66666666666666663 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{4}}\right)}^{\frac{1}{3}}\right)}{\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 r61341 = x;
double r61342 = 1.0;
double r61343 = r61341 + r61342;
double r61344 = cbrt(r61343);
double r61345 = cbrt(r61341);
double r61346 = r61344 - r61345;
return r61346;
}
double f(double x) {
double r61347 = x;
double r61348 = -4.515229856998832e+61;
bool r61349 = r61347 <= r61348;
double r61350 = 1.0;
double r61351 = 2.0;
double r61352 = pow(r61347, r61351);
double r61353 = r61350 / r61352;
double r61354 = 0.3333333333333333;
double r61355 = pow(r61353, r61354);
double r61356 = 0.3333333333333333;
double r61357 = 0.06172839506172839;
double r61358 = 8.0;
double r61359 = pow(r61347, r61358);
double r61360 = r61350 / r61359;
double r61361 = pow(r61360, r61354);
double r61362 = r61357 * r61361;
double r61363 = 0.1111111111111111;
double r61364 = 5.0;
double r61365 = pow(r61347, r61364);
double r61366 = r61350 / r61365;
double r61367 = pow(r61366, r61354);
double r61368 = r61363 * r61367;
double r61369 = r61362 - r61368;
double r61370 = fma(r61355, r61356, r61369);
double r61371 = 3308.7385413926622;
bool r61372 = r61347 <= r61371;
double r61373 = 1.0;
double r61374 = r61347 + r61373;
double r61375 = cbrt(r61374);
double r61376 = r61375 * r61375;
double r61377 = cbrt(r61347);
double r61378 = r61377 * r61377;
double r61379 = cbrt(r61378);
double r61380 = cbrt(r61377);
double r61381 = r61379 * r61380;
double r61382 = r61381 * r61377;
double r61383 = r61376 - r61382;
double r61384 = r61375 + r61377;
double r61385 = r61383 / r61384;
double r61386 = 7.0;
double r61387 = pow(r61347, r61386);
double r61388 = r61350 / r61387;
double r61389 = pow(r61388, r61354);
double r61390 = 0.04938271604938271;
double r61391 = 0.6666666666666666;
double r61392 = r61350 / r61347;
double r61393 = pow(r61392, r61354);
double r61394 = r61391 * r61393;
double r61395 = 4.0;
double r61396 = pow(r61347, r61395);
double r61397 = r61350 / r61396;
double r61398 = pow(r61397, r61354);
double r61399 = r61363 * r61398;
double r61400 = r61394 - r61399;
double r61401 = fma(r61389, r61390, r61400);
double r61402 = r61380 * r61380;
double r61403 = r61402 * r61380;
double r61404 = r61375 + r61403;
double r61405 = r61401 / r61404;
double r61406 = r61372 ? r61385 : r61405;
double r61407 = r61349 ? r61370 : r61406;
return r61407;
}



Bits error versus x
if x < -4.515229856998832e+61Initial program 61.2
Taylor expanded around inf 40.2
Simplified40.2
if -4.515229856998832e+61 < x < 3308.7385413926622Initial program 5.2
rmApplied flip--5.2
rmApplied add-cube-cbrt5.2
Applied cbrt-prod5.1
if 3308.7385413926622 < x Initial program 60.2
rmApplied flip--60.2
rmApplied add-cube-cbrt60.2
Taylor expanded around inf 5.0
Simplified5.0
Final simplification12.4
herbie shell --seed 2020049 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))