\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 r48217 = x;
double r48218 = 1.0;
double r48219 = r48217 + r48218;
double r48220 = cbrt(r48219);
double r48221 = cbrt(r48217);
double r48222 = r48220 - r48221;
return r48222;
}
double f(double x) {
double r48223 = x;
double r48224 = -4661.327623294633;
bool r48225 = r48223 <= r48224;
double r48226 = 0.3333333333333333;
double r48227 = 1.0;
double r48228 = 2.0;
double r48229 = pow(r48223, r48228);
double r48230 = r48227 / r48229;
double r48231 = cbrt(r48230);
double r48232 = 8.0;
double r48233 = pow(r48223, r48232);
double r48234 = r48227 / r48233;
double r48235 = cbrt(r48234);
double r48236 = 0.06172839506172839;
double r48237 = r48235 * r48236;
double r48238 = fma(r48226, r48231, r48237);
double r48239 = 5.0;
double r48240 = pow(r48223, r48239);
double r48241 = r48227 / r48240;
double r48242 = cbrt(r48241);
double r48243 = 0.1111111111111111;
double r48244 = r48242 * r48243;
double r48245 = r48238 - r48244;
double r48246 = 0.00014218096555382583;
bool r48247 = r48223 <= r48246;
double r48248 = 1.0;
double r48249 = r48223 + r48248;
double r48250 = cbrt(r48249);
double r48251 = cbrt(r48223);
double r48252 = cbrt(r48251);
double r48253 = r48252 * r48252;
double r48254 = r48253 * r48252;
double r48255 = r48250 - r48254;
double r48256 = exp(r48255);
double r48257 = log(r48256);
double r48258 = r48248 + r48223;
double r48259 = cbrt(r48258);
double r48260 = r48259 + r48251;
double r48261 = 0.6666666666666666;
double r48262 = pow(r48223, r48261);
double r48263 = fma(r48260, r48259, r48262);
double r48264 = r48248 / r48263;
double r48265 = r48247 ? r48257 : r48264;
double r48266 = r48225 ? r48245 : r48265;
return r48266;
}



Bits error versus x
if x < -4661.327623294633Initial program 60.3
rmApplied add-log-exp63.5
Applied add-log-exp63.5
Applied diff-log63.5
Simplified60.3
rmApplied *-un-lft-identity60.3
Applied cbrt-prod60.3
Applied add-cube-cbrt61.0
Applied cbrt-prod61.8
Applied prod-diff62.6
Applied exp-sum62.6
Applied log-prod62.6
Simplified60.9
Simplified60.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)))