\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.434414446652678902940983828948685795498 \cdot 10^{61}:\\
\;\;\;\;e^{\log \left(\left(0.3333333333333333148296162562473909929395 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)}\\
\mathbf{elif}\;x \le 4.649696698633630488250260777233067096919 \cdot 10^{-310}:\\
\;\;\;\;\frac{\left(x + 1\right) - x}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}} + \sqrt[3]{x + 1}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}\\
\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 r64159 = x;
double r64160 = 1.0;
double r64161 = r64159 + r64160;
double r64162 = cbrt(r64161);
double r64163 = cbrt(r64159);
double r64164 = r64162 - r64163;
return r64164;
}
double f(double x) {
double r64165 = x;
double r64166 = -4.434414446652679e+61;
bool r64167 = r64165 <= r64166;
double r64168 = 0.3333333333333333;
double r64169 = 1.0;
double r64170 = 2.0;
double r64171 = pow(r64165, r64170);
double r64172 = r64169 / r64171;
double r64173 = 0.3333333333333333;
double r64174 = pow(r64172, r64173);
double r64175 = r64168 * r64174;
double r64176 = 0.06172839506172839;
double r64177 = 8.0;
double r64178 = pow(r64165, r64177);
double r64179 = r64169 / r64178;
double r64180 = pow(r64179, r64173);
double r64181 = r64176 * r64180;
double r64182 = r64175 + r64181;
double r64183 = 0.1111111111111111;
double r64184 = 5.0;
double r64185 = pow(r64165, r64184);
double r64186 = r64169 / r64185;
double r64187 = pow(r64186, r64173);
double r64188 = r64183 * r64187;
double r64189 = r64182 - r64188;
double r64190 = log(r64189);
double r64191 = exp(r64190);
double r64192 = 4.64969669863363e-310;
bool r64193 = r64165 <= r64192;
double r64194 = 1.0;
double r64195 = r64165 + r64194;
double r64196 = r64195 - r64165;
double r64197 = cbrt(r64165);
double r64198 = r64197 * r64197;
double r64199 = cbrt(r64198);
double r64200 = cbrt(r64197);
double r64201 = r64199 * r64200;
double r64202 = cbrt(r64195);
double r64203 = r64201 + r64202;
double r64204 = r64201 * r64203;
double r64205 = r64202 * r64202;
double r64206 = r64204 + r64205;
double r64207 = r64196 / r64206;
double r64208 = r64202 + r64197;
double r64209 = r64202 * r64208;
double r64210 = 0.6666666666666666;
double r64211 = pow(r64165, r64210);
double r64212 = r64209 + r64211;
double r64213 = r64194 / r64212;
double r64214 = r64193 ? r64207 : r64213;
double r64215 = r64167 ? r64191 : r64214;
return r64215;
}



Bits error versus x
Results
if x < -4.434414446652679e+61Initial program 61.2
rmApplied add-exp-log61.2
Taylor expanded around inf 39.8
if -4.434414446652679e+61 < x < 4.64969669863363e-310Initial program 8.6
rmApplied add-cube-cbrt8.5
Applied cbrt-prod8.4
rmApplied flip3--8.4
Simplified7.5
Simplified7.5
if 4.64969669863363e-310 < x Initial program 30.7
rmApplied flip3--30.7
Simplified0.6
Simplified2.4
Final simplification11.4
herbie shell --seed 2019308
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))