\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;\sqrt[3]{1 + x} - \sqrt[3]{x} \le 8.229480875598937927861697971820831298828 \cdot 10^{-5}:\\
\;\;\;\;\left(\frac{\sqrt[3]{x}}{x} \cdot 0.3333333333333333148296162562473909929395 - \frac{0.1111111111111111049432054187491303309798 \cdot \frac{\sqrt[3]{x}}{x}}{x}\right) + \left(\sqrt[3]{x} - \sqrt[3]{-x} \cdot \sqrt[3]{-1}\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{1 + x} - \sqrt[3]{\sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)\\
\end{array}double f(double x) {
double r82083 = x;
double r82084 = 1.0;
double r82085 = r82083 + r82084;
double r82086 = cbrt(r82085);
double r82087 = cbrt(r82083);
double r82088 = r82086 - r82087;
return r82088;
}
double f(double x) {
double r82089 = 1.0;
double r82090 = x;
double r82091 = r82089 + r82090;
double r82092 = cbrt(r82091);
double r82093 = cbrt(r82090);
double r82094 = r82092 - r82093;
double r82095 = 8.229480875598938e-05;
bool r82096 = r82094 <= r82095;
double r82097 = r82093 / r82090;
double r82098 = 0.3333333333333333;
double r82099 = r82097 * r82098;
double r82100 = 0.1111111111111111;
double r82101 = r82100 * r82097;
double r82102 = r82101 / r82090;
double r82103 = r82099 - r82102;
double r82104 = -r82090;
double r82105 = cbrt(r82104);
double r82106 = -1.0;
double r82107 = cbrt(r82106);
double r82108 = r82105 * r82107;
double r82109 = r82093 - r82108;
double r82110 = r82103 + r82109;
double r82111 = cbrt(r82093);
double r82112 = r82111 * r82111;
double r82113 = r82111 * r82112;
double r82114 = r82092 - r82113;
double r82115 = r82096 ? r82110 : r82114;
return r82115;
}



Bits error versus x
Results
if (- (cbrt (+ x 1.0)) (cbrt x)) < 8.229480875598938e-05Initial program 60.5
Simplified60.5
rmApplied add-log-exp63.6
Applied add-log-exp63.6
Applied diff-log63.6
Simplified60.5
Taylor expanded around -inf 64.0
Simplified0.7
if 8.229480875598938e-05 < (- (cbrt (+ x 1.0)) (cbrt x)) Initial program 0.2
Simplified0.2
rmApplied add-cube-cbrt0.2
Final simplification0.4
herbie shell --seed 2019194
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1.0)) (cbrt x)))