\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.5096422144891263 \cdot 10^{61}:\\
\;\;\;\;\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{elif}\;x \le 2863.24513512135809:\\
\;\;\;\;\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.04938271604938271, 0.66666666666666663 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{4}}\right)}^{\frac{1}{3}}\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\
\end{array}double f(double x) {
double r52259 = x;
double r52260 = 1.0;
double r52261 = r52259 + r52260;
double r52262 = cbrt(r52261);
double r52263 = cbrt(r52259);
double r52264 = r52262 - r52263;
return r52264;
}
double f(double x) {
double r52265 = x;
double r52266 = -4.5096422144891263e+61;
bool r52267 = r52265 <= r52266;
double r52268 = 1.0;
double r52269 = 2.0;
double r52270 = pow(r52265, r52269);
double r52271 = r52268 / r52270;
double r52272 = 0.3333333333333333;
double r52273 = pow(r52271, r52272);
double r52274 = 0.3333333333333333;
double r52275 = 0.06172839506172839;
double r52276 = 8.0;
double r52277 = pow(r52265, r52276);
double r52278 = r52268 / r52277;
double r52279 = pow(r52278, r52272);
double r52280 = r52275 * r52279;
double r52281 = 0.1111111111111111;
double r52282 = 5.0;
double r52283 = pow(r52265, r52282);
double r52284 = r52268 / r52283;
double r52285 = pow(r52284, r52272);
double r52286 = r52281 * r52285;
double r52287 = r52280 - r52286;
double r52288 = fma(r52273, r52274, r52287);
double r52289 = 2863.245135121358;
bool r52290 = r52265 <= r52289;
double r52291 = 3.0;
double r52292 = pow(r52265, r52291);
double r52293 = 1.0;
double r52294 = pow(r52293, r52291);
double r52295 = r52292 + r52294;
double r52296 = cbrt(r52295);
double r52297 = r52265 * r52265;
double r52298 = r52293 * r52293;
double r52299 = r52265 * r52293;
double r52300 = r52298 - r52299;
double r52301 = r52297 + r52300;
double r52302 = cbrt(r52301);
double r52303 = r52296 / r52302;
double r52304 = cbrt(r52265);
double r52305 = r52303 - r52304;
double r52306 = 7.0;
double r52307 = pow(r52265, r52306);
double r52308 = r52268 / r52307;
double r52309 = pow(r52308, r52272);
double r52310 = 0.04938271604938271;
double r52311 = 0.6666666666666666;
double r52312 = r52268 / r52265;
double r52313 = pow(r52312, r52272);
double r52314 = r52311 * r52313;
double r52315 = 4.0;
double r52316 = pow(r52265, r52315);
double r52317 = r52268 / r52316;
double r52318 = pow(r52317, r52272);
double r52319 = r52281 * r52318;
double r52320 = r52314 - r52319;
double r52321 = fma(r52309, r52310, r52320);
double r52322 = r52265 + r52293;
double r52323 = cbrt(r52322);
double r52324 = r52323 + r52304;
double r52325 = r52321 / r52324;
double r52326 = r52290 ? r52305 : r52325;
double r52327 = r52267 ? r52288 : r52326;
return r52327;
}



Bits error versus x
if x < -4.5096422144891263e+61Initial program 61.2
Taylor expanded around inf 41.6
Simplified41.6
if -4.5096422144891263e+61 < x < 2863.245135121358Initial program 5.2
rmApplied flip3-+5.1
Applied cbrt-div5.1
if 2863.245135121358 < x Initial program 60.1
rmApplied flip--60.1
Taylor expanded around inf 5.1
Simplified5.1
Final simplification12.5
herbie shell --seed 2020081 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))