\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;\sqrt[3]{1 + x} - \sqrt[3]{x} \le 0.00013239014950272576:\\
\;\;\;\;\mathsf{fma}\left(\frac{-1}{9}, \left(\sqrt[3]{\frac{1}{{x}^{5}}}\right), \left(\mathsf{fma}\left(\frac{1}{3}, \left(\sqrt[3]{\frac{1}{x \cdot x}}\right), \left(\sqrt[3]{\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)}} \cdot \frac{5}{81}\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{1 + x} - \sqrt[3]{\left(\left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}\\
\end{array}double f(double x) {
double r4809154 = x;
double r4809155 = 1.0;
double r4809156 = r4809154 + r4809155;
double r4809157 = cbrt(r4809156);
double r4809158 = cbrt(r4809154);
double r4809159 = r4809157 - r4809158;
return r4809159;
}
double f(double x) {
double r4809160 = 1.0;
double r4809161 = x;
double r4809162 = r4809160 + r4809161;
double r4809163 = cbrt(r4809162);
double r4809164 = cbrt(r4809161);
double r4809165 = r4809163 - r4809164;
double r4809166 = 0.00013239014950272576;
bool r4809167 = r4809165 <= r4809166;
double r4809168 = -0.1111111111111111;
double r4809169 = 5.0;
double r4809170 = pow(r4809161, r4809169);
double r4809171 = r4809160 / r4809170;
double r4809172 = cbrt(r4809171);
double r4809173 = 0.3333333333333333;
double r4809174 = r4809161 * r4809161;
double r4809175 = r4809160 / r4809174;
double r4809176 = cbrt(r4809175);
double r4809177 = r4809174 * r4809174;
double r4809178 = r4809177 * r4809177;
double r4809179 = r4809160 / r4809178;
double r4809180 = cbrt(r4809179);
double r4809181 = 0.06172839506172839;
double r4809182 = r4809180 * r4809181;
double r4809183 = fma(r4809173, r4809176, r4809182);
double r4809184 = fma(r4809168, r4809172, r4809183);
double r4809185 = cbrt(r4809164);
double r4809186 = r4809185 * r4809185;
double r4809187 = r4809186 * r4809185;
double r4809188 = r4809164 * r4809164;
double r4809189 = r4809187 * r4809188;
double r4809190 = cbrt(r4809189);
double r4809191 = r4809163 - r4809190;
double r4809192 = r4809167 ? r4809184 : r4809191;
return r4809192;
}



Bits error versus x
if (- (cbrt (+ x 1)) (cbrt x)) < 0.00013239014950272576Initial program 60.4
rmApplied add-cbrt-cube60.6
Taylor expanded around inf 38.4
Simplified30.9
if 0.00013239014950272576 < (- (cbrt (+ x 1)) (cbrt x)) Initial program 0.2
rmApplied add-cbrt-cube0.2
rmApplied add-cube-cbrt0.2
Final simplification15.3
herbie shell --seed 2019124 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))