double f(double x) {
double r4908202 = x;
double r4908203 = 1.0;
double r4908204 = r4908202 + r4908203;
double r4908205 = cbrt(r4908204);
double r4908206 = cbrt(r4908202);
double r4908207 = r4908205 - r4908206;
return r4908207;
}
double f(double x) {
double r4908208 = 1.0;
double r4908209 = x;
double r4908210 = r4908208 + r4908209;
double r4908211 = cbrt(r4908210);
double r4908212 = cbrt(r4908209);
double r4908213 = r4908211 - r4908212;
double r4908214 = 8.979724498203723e-06;
bool r4908215 = r4908213 <= r4908214;
double r4908216 = -1.0;
double r4908217 = cbrt(r4908216);
double r4908218 = -r4908209;
double r4908219 = cbrt(r4908218);
double r4908220 = r4908217 * r4908219;
double r4908221 = r4908212 - r4908220;
double r4908222 = -0.1111111111111111;
double r4908223 = r4908222 / r4908209;
double r4908224 = 0.3333333333333333;
double r4908225 = r4908223 + r4908224;
double r4908226 = r4908212 / r4908209;
double r4908227 = r4908225 * r4908226;
double r4908228 = r4908221 + r4908227;
double r4908229 = r4908215 ? r4908228 : r4908213;
return r4908229;
}
\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;\sqrt[3]{1 + x} - \sqrt[3]{x} \le 8.979724498203723 \cdot 10^{-06}:\\
\;\;\;\;\left(\sqrt[3]{x} - \sqrt[3]{-1} \cdot \sqrt[3]{-x}\right) + \left(\frac{\frac{-1}{9}}{x} + \frac{1}{3}\right) \cdot \frac{\sqrt[3]{x}}{x}\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{1 + x} - \sqrt[3]{x}\\
\end{array}


Bits error versus x
if (- (cbrt (+ x 1)) (cbrt x)) < 8.979724498203723e-06Initial program 60.6
Taylor expanded around -inf 62.4
Simplified0.6
if 8.979724498203723e-06 < (- (cbrt (+ x 1)) (cbrt x)) Initial program 0.2
Taylor expanded around 0 31.1
Simplified0.2
Final simplification0.4
herbie shell --seed 2019101
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))