\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le \frac{-4545286189804307}{4503599627370496}:\\
\;\;\;\;\sqrt[3]{\left(\frac{4744532940768917}{144115188075855872} \cdot \frac{1}{{x}^{4}} - \frac{667199944795629}{18014398509481984} \cdot \frac{1}{{x}^{3}}\right) + \frac{\frac{\frac{667199944795629}{18014398509481984}}{x}}{x}}\\
\mathbf{elif}\;x \le \frac{2935373004731401}{2305843009213693952}:\\
\;\;\;\;{\left(x + 1\right)}^{\frac{1}{3}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{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 r39171 = x;
double r39172 = 1.0;
double r39173 = r39171 + r39172;
double r39174 = cbrt(r39173);
double r39175 = cbrt(r39171);
double r39176 = r39174 - r39175;
return r39176;
}
double f(double x) {
double r39177 = x;
double r39178 = -4545286189804307.0;
double r39179 = 4503599627370496.0;
double r39180 = r39178 / r39179;
bool r39181 = r39177 <= r39180;
double r39182 = 4744532940768917.0;
double r39183 = 1.4411518807585587e+17;
double r39184 = r39182 / r39183;
double r39185 = 1.0;
double r39186 = 4.0;
double r39187 = pow(r39177, r39186);
double r39188 = r39185 / r39187;
double r39189 = r39184 * r39188;
double r39190 = 667199944795629.0;
double r39191 = 18014398509481984.0;
double r39192 = r39190 / r39191;
double r39193 = 3.0;
double r39194 = pow(r39177, r39193);
double r39195 = r39185 / r39194;
double r39196 = r39192 * r39195;
double r39197 = r39189 - r39196;
double r39198 = r39192 / r39177;
double r39199 = r39198 / r39177;
double r39200 = r39197 + r39199;
double r39201 = cbrt(r39200);
double r39202 = 2935373004731401.0;
double r39203 = 2.305843009213694e+18;
double r39204 = r39202 / r39203;
bool r39205 = r39177 <= r39204;
double r39206 = 1.0;
double r39207 = r39177 + r39206;
double r39208 = 0.3333333333333333;
double r39209 = pow(r39207, r39208);
double r39210 = cbrt(r39177);
double r39211 = r39209 - r39210;
double r39212 = cbrt(r39207);
double r39213 = r39212 + r39210;
double r39214 = r39212 * r39213;
double r39215 = 0.6666666666666666;
double r39216 = pow(r39177, r39215);
double r39217 = r39214 + r39216;
double r39218 = r39206 / r39217;
double r39219 = r39205 ? r39211 : r39218;
double r39220 = r39181 ? r39201 : r39219;
return r39220;
}



Bits error versus x
Results
if x < -1.0092562762862982Initial program 59.3
rmApplied add-cbrt-cube59.3
Simplified59.3
Taylor expanded around inf 30.9
Simplified29.9
if -1.0092562762862982 < x < 0.0012730151155140351Initial program 0.0
rmApplied pow1/30.0
if 0.0012730151155140351 < x Initial program 58.9
rmApplied flip3--58.8
Simplified1.0
Simplified4.4
Final simplification8.7
herbie shell --seed 197574269
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))