\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.433287483387415562801378480911970005954 \cdot 10^{61}:\\
\;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.3333333333333333148296162562473909929395, 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\
\mathbf{elif}\;x \le 3522.541069158396112470654770731925964355:\\
\;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \left(\left(\left(\sqrt[3]{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x}}}\right)\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.0493827160493827133080912972218357026577, 0.6666666666666666296592325124947819858789 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \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 r75337 = x;
double r75338 = 1.0;
double r75339 = r75337 + r75338;
double r75340 = cbrt(r75339);
double r75341 = cbrt(r75337);
double r75342 = r75340 - r75341;
return r75342;
}
double f(double x) {
double r75343 = x;
double r75344 = -4.4332874833874156e+61;
bool r75345 = r75343 <= r75344;
double r75346 = 1.0;
double r75347 = 2.0;
double r75348 = pow(r75343, r75347);
double r75349 = r75346 / r75348;
double r75350 = 0.3333333333333333;
double r75351 = pow(r75349, r75350);
double r75352 = 0.3333333333333333;
double r75353 = 0.06172839506172839;
double r75354 = 8.0;
double r75355 = pow(r75343, r75354);
double r75356 = r75346 / r75355;
double r75357 = pow(r75356, r75350);
double r75358 = r75353 * r75357;
double r75359 = 0.1111111111111111;
double r75360 = 5.0;
double r75361 = pow(r75343, r75360);
double r75362 = r75346 / r75361;
double r75363 = pow(r75362, r75350);
double r75364 = r75359 * r75363;
double r75365 = r75358 - r75364;
double r75366 = fma(r75351, r75352, r75365);
double r75367 = 3522.541069158396;
bool r75368 = r75343 <= r75367;
double r75369 = 1.0;
double r75370 = r75343 + r75369;
double r75371 = cbrt(r75370);
double r75372 = r75371 * r75371;
double r75373 = cbrt(r75343);
double r75374 = r75373 * r75373;
double r75375 = cbrt(r75374);
double r75376 = cbrt(r75375);
double r75377 = r75376 * r75376;
double r75378 = r75377 * r75376;
double r75379 = cbrt(r75373);
double r75380 = r75379 * r75379;
double r75381 = cbrt(r75380);
double r75382 = cbrt(r75379);
double r75383 = r75381 * r75382;
double r75384 = r75378 * r75383;
double r75385 = r75373 * r75384;
double r75386 = r75372 - r75385;
double r75387 = r75371 + r75373;
double r75388 = r75386 / r75387;
double r75389 = 7.0;
double r75390 = pow(r75343, r75389);
double r75391 = r75346 / r75390;
double r75392 = pow(r75391, r75350);
double r75393 = 0.04938271604938271;
double r75394 = 0.6666666666666666;
double r75395 = r75346 / r75343;
double r75396 = pow(r75395, r75350);
double r75397 = r75394 * r75396;
double r75398 = 4.0;
double r75399 = pow(r75343, r75398);
double r75400 = r75346 / r75399;
double r75401 = pow(r75400, r75350);
double r75402 = r75359 * r75401;
double r75403 = r75397 - r75402;
double r75404 = fma(r75392, r75393, r75403);
double r75405 = r75404 / r75387;
double r75406 = r75368 ? r75388 : r75405;
double r75407 = r75345 ? r75366 : r75406;
return r75407;
}



Bits error versus x
if x < -4.4332874833874156e+61Initial program 61.2
Taylor expanded around inf 40.4
Simplified40.4
if -4.4332874833874156e+61 < x < 3522.541069158396Initial program 5.0
rmApplied flip--5.0
rmApplied add-cube-cbrt5.0
Applied cbrt-prod4.9
rmApplied add-cube-cbrt4.9
Applied cbrt-prod4.9
rmApplied add-cube-cbrt4.9
if 3522.541069158396 < x Initial program 60.2
rmApplied flip--60.2
Taylor expanded around inf 5.1
Simplified5.1
Final simplification12.2
herbie shell --seed 2020002 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))