\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4234.57245693455206:\\
\;\;\;\;\left(0.333333333333333315 \cdot \sqrt[3]{\frac{1}{{x}^{2}}} + \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392\right) - 0.1111111111111111 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\
\mathbf{elif}\;x \le 0.00213870861947561752:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 + \left(x - x\right)}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x} + \sqrt[3]{x + 1}\right) + {x}^{\frac{2}{3}}}\\
\end{array}double f(double x) {
double r55561 = x;
double r55562 = 1.0;
double r55563 = r55561 + r55562;
double r55564 = cbrt(r55563);
double r55565 = cbrt(r55561);
double r55566 = r55564 - r55565;
return r55566;
}
double f(double x) {
double r55567 = x;
double r55568 = -4234.572456934552;
bool r55569 = r55567 <= r55568;
double r55570 = 0.3333333333333333;
double r55571 = 1.0;
double r55572 = 2.0;
double r55573 = pow(r55567, r55572);
double r55574 = r55571 / r55573;
double r55575 = cbrt(r55574);
double r55576 = r55570 * r55575;
double r55577 = 8.0;
double r55578 = pow(r55567, r55577);
double r55579 = r55571 / r55578;
double r55580 = cbrt(r55579);
double r55581 = 0.06172839506172839;
double r55582 = r55580 * r55581;
double r55583 = r55576 + r55582;
double r55584 = 0.1111111111111111;
double r55585 = 5.0;
double r55586 = pow(r55567, r55585);
double r55587 = r55571 / r55586;
double r55588 = cbrt(r55587);
double r55589 = r55584 * r55588;
double r55590 = r55583 - r55589;
double r55591 = 0.0021387086194756175;
bool r55592 = r55567 <= r55591;
double r55593 = r55567 * r55567;
double r55594 = 1.0;
double r55595 = r55594 * r55594;
double r55596 = r55593 - r55595;
double r55597 = cbrt(r55596);
double r55598 = r55567 - r55594;
double r55599 = cbrt(r55598);
double r55600 = r55597 / r55599;
double r55601 = cbrt(r55567);
double r55602 = r55600 - r55601;
double r55603 = r55567 - r55567;
double r55604 = r55594 + r55603;
double r55605 = r55567 + r55594;
double r55606 = cbrt(r55605);
double r55607 = r55601 + r55606;
double r55608 = r55606 * r55607;
double r55609 = 0.6666666666666666;
double r55610 = pow(r55567, r55609);
double r55611 = r55608 + r55610;
double r55612 = r55604 / r55611;
double r55613 = r55592 ? r55602 : r55612;
double r55614 = r55569 ? r55590 : r55613;
return r55614;
}



Bits error versus x
Results
if x < -4234.572456934552Initial program 60.1
rmApplied add-cube-cbrt60.4
Applied cbrt-prod60.6
Taylor expanded around inf 44.9
Simplified31.2
if -4234.572456934552 < x < 0.0021387086194756175Initial program 0.1
rmApplied flip-+0.1
Applied cbrt-div0.1
if 0.0021387086194756175 < x Initial program 58.9
rmApplied add-cube-cbrt59.4
rmApplied flip3--59.4
Simplified1.4
Simplified4.4
Final simplification9.1
herbie shell --seed 2020043
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))