\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.4628901123669468 \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 1.9364214566131179 \cdot 10^{-4}:\\
\;\;\;\;\sqrt[3]{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1} \cdot \sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1} \cdot \sqrt[3]{x - 1}}} \cdot \sqrt[3]{\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 r80441 = x;
double r80442 = 1.0;
double r80443 = r80441 + r80442;
double r80444 = cbrt(r80443);
double r80445 = cbrt(r80441);
double r80446 = r80444 - r80445;
return r80446;
}
double f(double x) {
double r80447 = x;
double r80448 = -4.462890112366947e+61;
bool r80449 = r80447 <= r80448;
double r80450 = 0.3333333333333333;
double r80451 = 1.0;
double r80452 = 2.0;
double r80453 = pow(r80447, r80452);
double r80454 = r80451 / r80453;
double r80455 = 0.3333333333333333;
double r80456 = pow(r80454, r80455);
double r80457 = r80450 * r80456;
double r80458 = 0.06172839506172839;
double r80459 = 8.0;
double r80460 = pow(r80447, r80459);
double r80461 = r80451 / r80460;
double r80462 = pow(r80461, r80455);
double r80463 = r80458 * r80462;
double r80464 = r80457 + r80463;
double r80465 = 0.1111111111111111;
double r80466 = 5.0;
double r80467 = pow(r80447, r80466);
double r80468 = r80451 / r80467;
double r80469 = pow(r80468, r80455);
double r80470 = r80465 * r80469;
double r80471 = r80464 - r80470;
double r80472 = 0.0001936421456613118;
bool r80473 = r80447 <= r80472;
double r80474 = r80447 * r80447;
double r80475 = 1.0;
double r80476 = r80475 * r80475;
double r80477 = r80474 - r80476;
double r80478 = cbrt(r80477);
double r80479 = r80478 * r80478;
double r80480 = r80447 - r80475;
double r80481 = cbrt(r80480);
double r80482 = r80481 * r80481;
double r80483 = r80479 / r80482;
double r80484 = cbrt(r80483);
double r80485 = r80447 + r80475;
double r80486 = cbrt(r80485);
double r80487 = cbrt(r80486);
double r80488 = r80484 * r80487;
double r80489 = cbrt(r80447);
double r80490 = r80488 - r80489;
double r80491 = 0.0;
double r80492 = r80491 + r80475;
double r80493 = r80486 + r80489;
double r80494 = r80486 * r80493;
double r80495 = 0.6666666666666666;
double r80496 = pow(r80447, r80495);
double r80497 = r80494 + r80496;
double r80498 = r80492 / r80497;
double r80499 = r80473 ? r80490 : r80498;
double r80500 = r80449 ? r80471 : r80499;
return r80500;
}



Bits error versus x
Results
if x < -4.462890112366947e+61Initial program 61.2
Taylor expanded around inf 40.6
if -4.462890112366947e+61 < x < 0.0001936421456613118Initial program 4.5
rmApplied add-cube-cbrt4.5
Applied cbrt-prod4.5
rmApplied flip-+4.5
Applied cbrt-div4.5
Applied flip-+4.5
Applied cbrt-div4.5
Applied frac-times4.5
if 0.0001936421456613118 < x Initial program 58.7
rmApplied flip3--58.5
Simplified1.0
Simplified4.4
Final simplification12.0
herbie shell --seed 2020062
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))