\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.4690392002297262 \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 0.00897341644053555217:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\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 r69696 = x;
double r69697 = 1.0;
double r69698 = r69696 + r69697;
double r69699 = cbrt(r69698);
double r69700 = cbrt(r69696);
double r69701 = r69699 - r69700;
return r69701;
}
double f(double x) {
double r69702 = x;
double r69703 = -4.469039200229726e+61;
bool r69704 = r69702 <= r69703;
double r69705 = 0.3333333333333333;
double r69706 = 1.0;
double r69707 = 2.0;
double r69708 = pow(r69702, r69707);
double r69709 = r69706 / r69708;
double r69710 = 0.3333333333333333;
double r69711 = pow(r69709, r69710);
double r69712 = r69705 * r69711;
double r69713 = 0.06172839506172839;
double r69714 = 8.0;
double r69715 = pow(r69702, r69714);
double r69716 = r69706 / r69715;
double r69717 = pow(r69716, r69710);
double r69718 = r69713 * r69717;
double r69719 = r69712 + r69718;
double r69720 = 0.1111111111111111;
double r69721 = 5.0;
double r69722 = pow(r69702, r69721);
double r69723 = r69706 / r69722;
double r69724 = pow(r69723, r69710);
double r69725 = r69720 * r69724;
double r69726 = r69719 - r69725;
double r69727 = 0.008973416440535552;
bool r69728 = r69702 <= r69727;
double r69729 = r69702 * r69702;
double r69730 = 1.0;
double r69731 = r69730 * r69730;
double r69732 = r69729 - r69731;
double r69733 = cbrt(r69732);
double r69734 = r69702 - r69730;
double r69735 = cbrt(r69734);
double r69736 = r69733 / r69735;
double r69737 = cbrt(r69702);
double r69738 = r69736 - r69737;
double r69739 = 0.0;
double r69740 = r69739 + r69730;
double r69741 = r69702 + r69730;
double r69742 = cbrt(r69741);
double r69743 = r69742 + r69737;
double r69744 = r69742 * r69743;
double r69745 = 0.6666666666666666;
double r69746 = pow(r69702, r69745);
double r69747 = r69744 + r69746;
double r69748 = r69740 / r69747;
double r69749 = r69728 ? r69738 : r69748;
double r69750 = r69704 ? r69726 : r69749;
return r69750;
}



Bits error versus x
Results
if x < -4.469039200229726e+61Initial program 61.2
Taylor expanded around inf 40.0
if -4.469039200229726e+61 < x < 0.008973416440535552Initial program 5.1
rmApplied flip-+5.1
Applied cbrt-div5.0
if 0.008973416440535552 < x Initial program 59.0
rmApplied flip3--58.8
Simplified1.0
Simplified4.4
Final simplification11.8
herbie shell --seed 2020064
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))