\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4661.327623294632758188527077436447143555:\\
\;\;\;\;\mathsf{fma}\left(0.3333333333333333148296162562473909929395, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111049432054187491303309798\\
\mathbf{elif}\;x \le 1.421809655538258285959601900927395945473 \cdot 10^{-4}:\\
\;\;\;\;\log \left(e^{\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(\sqrt[3]{1 + x} + \sqrt[3]{x}, \sqrt[3]{1 + x}, {x}^{\frac{2}{3}}\right)}\\
\end{array}double f(double x) {
double r48266 = x;
double r48267 = 1.0;
double r48268 = r48266 + r48267;
double r48269 = cbrt(r48268);
double r48270 = cbrt(r48266);
double r48271 = r48269 - r48270;
return r48271;
}
double f(double x) {
double r48272 = x;
double r48273 = -4661.327623294633;
bool r48274 = r48272 <= r48273;
double r48275 = 0.3333333333333333;
double r48276 = 1.0;
double r48277 = 2.0;
double r48278 = pow(r48272, r48277);
double r48279 = r48276 / r48278;
double r48280 = cbrt(r48279);
double r48281 = 8.0;
double r48282 = pow(r48272, r48281);
double r48283 = r48276 / r48282;
double r48284 = cbrt(r48283);
double r48285 = 0.06172839506172839;
double r48286 = r48284 * r48285;
double r48287 = fma(r48275, r48280, r48286);
double r48288 = 5.0;
double r48289 = pow(r48272, r48288);
double r48290 = r48276 / r48289;
double r48291 = cbrt(r48290);
double r48292 = 0.1111111111111111;
double r48293 = r48291 * r48292;
double r48294 = r48287 - r48293;
double r48295 = 0.00014218096555382583;
bool r48296 = r48272 <= r48295;
double r48297 = 1.0;
double r48298 = r48272 + r48297;
double r48299 = cbrt(r48298);
double r48300 = cbrt(r48272);
double r48301 = cbrt(r48300);
double r48302 = r48301 * r48301;
double r48303 = r48302 * r48301;
double r48304 = r48299 - r48303;
double r48305 = exp(r48304);
double r48306 = log(r48305);
double r48307 = r48297 + r48272;
double r48308 = cbrt(r48307);
double r48309 = r48308 + r48300;
double r48310 = 0.6666666666666666;
double r48311 = pow(r48272, r48310);
double r48312 = fma(r48309, r48308, r48311);
double r48313 = r48297 / r48312;
double r48314 = r48296 ? r48306 : r48313;
double r48315 = r48274 ? r48294 : r48314;
return r48315;
}



Bits error versus x
if x < -4661.327623294633Initial program 60.3
rmApplied add-cube-cbrt60.9
Taylor expanded around inf 44.5
Simplified31.1
if -4661.327623294633 < x < 0.00014218096555382583Initial program 0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
rmApplied add-cube-cbrt0.1
if 0.00014218096555382583 < x Initial program 59.1
rmApplied flip3--59.0
Simplified1.0
Simplified4.5
Final simplification9.0
herbie shell --seed 2019323 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))