\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 r48023 = x;
double r48024 = 1.0;
double r48025 = r48023 + r48024;
double r48026 = cbrt(r48025);
double r48027 = cbrt(r48023);
double r48028 = r48026 - r48027;
return r48028;
}
double f(double x) {
double r48029 = x;
double r48030 = -4661.327623294633;
bool r48031 = r48029 <= r48030;
double r48032 = 0.3333333333333333;
double r48033 = 1.0;
double r48034 = 2.0;
double r48035 = pow(r48029, r48034);
double r48036 = r48033 / r48035;
double r48037 = cbrt(r48036);
double r48038 = 8.0;
double r48039 = pow(r48029, r48038);
double r48040 = r48033 / r48039;
double r48041 = cbrt(r48040);
double r48042 = 0.06172839506172839;
double r48043 = r48041 * r48042;
double r48044 = fma(r48032, r48037, r48043);
double r48045 = 5.0;
double r48046 = pow(r48029, r48045);
double r48047 = r48033 / r48046;
double r48048 = cbrt(r48047);
double r48049 = 0.1111111111111111;
double r48050 = r48048 * r48049;
double r48051 = r48044 - r48050;
double r48052 = 0.00014218096555382583;
bool r48053 = r48029 <= r48052;
double r48054 = 1.0;
double r48055 = r48029 + r48054;
double r48056 = cbrt(r48055);
double r48057 = cbrt(r48029);
double r48058 = cbrt(r48057);
double r48059 = r48058 * r48058;
double r48060 = r48059 * r48058;
double r48061 = r48056 - r48060;
double r48062 = exp(r48061);
double r48063 = log(r48062);
double r48064 = r48054 + r48029;
double r48065 = cbrt(r48064);
double r48066 = r48065 + r48057;
double r48067 = 0.6666666666666666;
double r48068 = pow(r48029, r48067);
double r48069 = fma(r48066, r48065, r48068);
double r48070 = r48054 / r48069;
double r48071 = r48053 ? r48063 : r48070;
double r48072 = r48031 ? r48051 : r48071;
return r48072;
}



Bits error versus x
if x < -4661.327623294633Initial program 60.3
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)))