\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.434657569191200310789441967763281724919 \cdot 10^{61}:\\
\;\;\;\;\left(\frac{6004799503160661}{18014398509481984} \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + \frac{1111999907992715}{18014398509481984} \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - \frac{2001599834386887}{18014398509481984} \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\
\mathbf{elif}\;x \le \frac{2622229241231225}{9223372036854775808}:\\
\;\;\;\;\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{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 r40367 = x;
double r40368 = 1.0;
double r40369 = r40367 + r40368;
double r40370 = cbrt(r40369);
double r40371 = cbrt(r40367);
double r40372 = r40370 - r40371;
return r40372;
}
double f(double x) {
double r40373 = x;
double r40374 = -4.4346575691912003e+61;
bool r40375 = r40373 <= r40374;
double r40376 = 6004799503160661.0;
double r40377 = 18014398509481984.0;
double r40378 = r40376 / r40377;
double r40379 = 1.0;
double r40380 = 2.0;
double r40381 = pow(r40373, r40380);
double r40382 = r40379 / r40381;
double r40383 = 0.3333333333333333;
double r40384 = pow(r40382, r40383);
double r40385 = r40378 * r40384;
double r40386 = 1111999907992715.0;
double r40387 = r40386 / r40377;
double r40388 = 8.0;
double r40389 = pow(r40373, r40388);
double r40390 = r40379 / r40389;
double r40391 = pow(r40390, r40383);
double r40392 = r40387 * r40391;
double r40393 = r40385 + r40392;
double r40394 = 2001599834386887.0;
double r40395 = r40394 / r40377;
double r40396 = 5.0;
double r40397 = pow(r40373, r40396);
double r40398 = r40379 / r40397;
double r40399 = pow(r40398, r40383);
double r40400 = r40395 * r40399;
double r40401 = r40393 - r40400;
double r40402 = 2622229241231225.0;
double r40403 = 9.223372036854776e+18;
double r40404 = r40402 / r40403;
bool r40405 = r40373 <= r40404;
double r40406 = 1.0;
double r40407 = r40373 + r40406;
double r40408 = cbrt(r40407);
double r40409 = r40408 * r40408;
double r40410 = cbrt(r40409);
double r40411 = cbrt(r40408);
double r40412 = r40410 * r40411;
double r40413 = cbrt(r40373);
double r40414 = r40412 - r40413;
double r40415 = r40408 + r40413;
double r40416 = r40408 * r40415;
double r40417 = 0.6666666666666666;
double r40418 = pow(r40373, r40417);
double r40419 = r40416 + r40418;
double r40420 = r40406 / r40419;
double r40421 = r40405 ? r40414 : r40420;
double r40422 = r40375 ? r40401 : r40421;
return r40422;
}



Bits error versus x
Results
if x < -4.4346575691912003e+61Initial program 61.2
Taylor expanded around inf 41.1
Simplified41.1
if -4.4346575691912003e+61 < x < 0.000284302664009791Initial program 5.2
rmApplied add-cube-cbrt5.1
Applied cbrt-prod5.2
if 0.000284302664009791 < x Initial program 59.2
rmApplied flip3--59.1
Simplified1.0
Simplified4.5
Final simplification11.9
herbie shell --seed 2019304
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))