\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -137893.79262274364:\\
\;\;\;\;\sqrt[3]{\left(0.0329218106995884732 \cdot \frac{1}{{x}^{4}} - 0.037037037037037035 \cdot \frac{1}{{x}^{3}}\right) + \frac{\frac{0.037037037037037035}{x}}{x}}\\
\mathbf{elif}\;x \le 4.63592369012709109 \cdot 10^{-48}:\\
\;\;\;\;\sqrt[3]{{\left(\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}}\right)}^{3}}\\
\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 r57283 = x;
double r57284 = 1.0;
double r57285 = r57283 + r57284;
double r57286 = cbrt(r57285);
double r57287 = cbrt(r57283);
double r57288 = r57286 - r57287;
return r57288;
}
double f(double x) {
double r57289 = x;
double r57290 = -137893.79262274364;
bool r57291 = r57289 <= r57290;
double r57292 = 0.03292181069958847;
double r57293 = 1.0;
double r57294 = 4.0;
double r57295 = pow(r57289, r57294);
double r57296 = r57293 / r57295;
double r57297 = r57292 * r57296;
double r57298 = 0.037037037037037035;
double r57299 = 3.0;
double r57300 = pow(r57289, r57299);
double r57301 = r57293 / r57300;
double r57302 = r57298 * r57301;
double r57303 = r57297 - r57302;
double r57304 = r57298 / r57289;
double r57305 = r57304 / r57289;
double r57306 = r57303 + r57305;
double r57307 = cbrt(r57306);
double r57308 = 4.635923690127091e-48;
bool r57309 = r57289 <= r57308;
double r57310 = 1.0;
double r57311 = r57289 + r57310;
double r57312 = r57311 - r57289;
double r57313 = cbrt(r57289);
double r57314 = r57313 * r57313;
double r57315 = cbrt(r57314);
double r57316 = cbrt(r57313);
double r57317 = r57315 * r57316;
double r57318 = cbrt(r57311);
double r57319 = r57317 + r57318;
double r57320 = r57317 * r57319;
double r57321 = r57318 * r57318;
double r57322 = r57320 + r57321;
double r57323 = r57312 / r57322;
double r57324 = pow(r57323, r57299);
double r57325 = cbrt(r57324);
double r57326 = 0.0;
double r57327 = r57326 + r57310;
double r57328 = r57318 + r57313;
double r57329 = r57318 * r57328;
double r57330 = 0.6666666666666666;
double r57331 = pow(r57289, r57330);
double r57332 = r57329 + r57331;
double r57333 = r57327 / r57332;
double r57334 = r57309 ? r57325 : r57333;
double r57335 = r57291 ? r57307 : r57334;
return r57335;
}



Bits error versus x
Results
if x < -137893.79262274364Initial program 60.3
rmApplied add-cbrt-cube60.3
Simplified60.3
Taylor expanded around inf 31.7
Simplified31.1
if -137893.79262274364 < x < 4.635923690127091e-48Initial program 0.1
rmApplied add-cbrt-cube0.1
Simplified0.1
rmApplied add-cube-cbrt0.1
Applied cbrt-prod0.1
rmApplied flip3--0.1
Simplified0.1
Simplified0.1
if 4.635923690127091e-48 < x Initial program 51.3
rmApplied flip3--51.3
Simplified1.0
Simplified3.9
Final simplification9.0
herbie shell --seed 2020020
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))