\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.4954988095195466 \cdot 10^{61} \lor \neg \left(x \le 4040.64961886434185\right):\\
\;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.333333333333333315, 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x}\\
\end{array}double f(double x) {
double r82289 = x;
double r82290 = 1.0;
double r82291 = r82289 + r82290;
double r82292 = cbrt(r82291);
double r82293 = cbrt(r82289);
double r82294 = r82292 - r82293;
return r82294;
}
double f(double x) {
double r82295 = x;
double r82296 = -4.4954988095195466e+61;
bool r82297 = r82295 <= r82296;
double r82298 = 4040.649618864342;
bool r82299 = r82295 <= r82298;
double r82300 = !r82299;
bool r82301 = r82297 || r82300;
double r82302 = 1.0;
double r82303 = 2.0;
double r82304 = pow(r82295, r82303);
double r82305 = r82302 / r82304;
double r82306 = 0.3333333333333333;
double r82307 = pow(r82305, r82306);
double r82308 = 0.3333333333333333;
double r82309 = 0.06172839506172839;
double r82310 = 8.0;
double r82311 = pow(r82295, r82310);
double r82312 = r82302 / r82311;
double r82313 = pow(r82312, r82306);
double r82314 = r82309 * r82313;
double r82315 = 0.1111111111111111;
double r82316 = 5.0;
double r82317 = pow(r82295, r82316);
double r82318 = r82302 / r82317;
double r82319 = pow(r82318, r82306);
double r82320 = r82315 * r82319;
double r82321 = r82314 - r82320;
double r82322 = fma(r82307, r82308, r82321);
double r82323 = 3.0;
double r82324 = pow(r82295, r82323);
double r82325 = 1.0;
double r82326 = pow(r82325, r82323);
double r82327 = r82324 + r82326;
double r82328 = cbrt(r82327);
double r82329 = r82295 * r82295;
double r82330 = r82325 * r82325;
double r82331 = r82295 * r82325;
double r82332 = r82330 - r82331;
double r82333 = r82329 + r82332;
double r82334 = cbrt(r82333);
double r82335 = r82328 / r82334;
double r82336 = cbrt(r82295);
double r82337 = r82335 - r82336;
double r82338 = r82301 ? r82322 : r82337;
return r82338;
}



Bits error versus x
if x < -4.4954988095195466e+61 or 4040.649618864342 < x Initial program 60.7
Taylor expanded around inf 37.1
Simplified37.1
if -4.4954988095195466e+61 < x < 4040.649618864342Initial program 4.7
rmApplied flip3-+4.7
Applied cbrt-div4.7
Final simplification19.1
herbie shell --seed 2020039 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))