\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -4.525663893489231077992208704976217314602 \cdot 10^{61}:\\
\;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.3333333333333333148296162562473909929395, 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\
\mathbf{elif}\;x \le 3499.391836415476063848473131656646728516:\\
\;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.0493827160493827133080912972218357026577, 0.6666666666666666296592325124947819858789 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{4}}\right)}^{\frac{1}{3}}\right)}{\sqrt[3]{x + 1} + \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\\
\end{array}double f(double x) {
double r133173 = x;
double r133174 = 1.0;
double r133175 = r133173 + r133174;
double r133176 = cbrt(r133175);
double r133177 = cbrt(r133173);
double r133178 = r133176 - r133177;
return r133178;
}
double f(double x) {
double r133179 = x;
double r133180 = -4.525663893489231e+61;
bool r133181 = r133179 <= r133180;
double r133182 = 1.0;
double r133183 = 2.0;
double r133184 = pow(r133179, r133183);
double r133185 = r133182 / r133184;
double r133186 = 0.3333333333333333;
double r133187 = pow(r133185, r133186);
double r133188 = 0.3333333333333333;
double r133189 = 0.06172839506172839;
double r133190 = 8.0;
double r133191 = pow(r133179, r133190);
double r133192 = r133182 / r133191;
double r133193 = pow(r133192, r133186);
double r133194 = r133189 * r133193;
double r133195 = 0.1111111111111111;
double r133196 = 5.0;
double r133197 = pow(r133179, r133196);
double r133198 = r133182 / r133197;
double r133199 = pow(r133198, r133186);
double r133200 = r133195 * r133199;
double r133201 = r133194 - r133200;
double r133202 = fma(r133187, r133188, r133201);
double r133203 = 3499.391836415476;
bool r133204 = r133179 <= r133203;
double r133205 = 1.0;
double r133206 = r133179 + r133205;
double r133207 = cbrt(r133206);
double r133208 = r133207 * r133207;
double r133209 = cbrt(r133179);
double r133210 = r133209 * r133209;
double r133211 = cbrt(r133210);
double r133212 = cbrt(r133209);
double r133213 = r133212 * r133212;
double r133214 = r133213 * r133212;
double r133215 = cbrt(r133214);
double r133216 = r133211 * r133215;
double r133217 = r133209 * r133216;
double r133218 = r133208 - r133217;
double r133219 = r133207 + r133209;
double r133220 = r133218 / r133219;
double r133221 = 7.0;
double r133222 = pow(r133179, r133221);
double r133223 = r133182 / r133222;
double r133224 = pow(r133223, r133186);
double r133225 = 0.04938271604938271;
double r133226 = 0.6666666666666666;
double r133227 = r133182 / r133179;
double r133228 = pow(r133227, r133186);
double r133229 = r133226 * r133228;
double r133230 = 4.0;
double r133231 = pow(r133179, r133230);
double r133232 = r133182 / r133231;
double r133233 = pow(r133232, r133186);
double r133234 = r133195 * r133233;
double r133235 = r133229 - r133234;
double r133236 = fma(r133224, r133225, r133235);
double r133237 = r133207 + r133214;
double r133238 = r133236 / r133237;
double r133239 = r133204 ? r133220 : r133238;
double r133240 = r133181 ? r133202 : r133239;
return r133240;
}



Bits error versus x
if x < -4.525663893489231e+61Initial program 61.2
Taylor expanded around inf 40.2
Simplified40.2
if -4.525663893489231e+61 < x < 3499.391836415476Initial program 5.0
rmApplied flip--5.0
rmApplied add-cube-cbrt5.0
Applied cbrt-prod4.9
rmApplied add-cube-cbrt4.9
if 3499.391836415476 < x Initial program 60.1
rmApplied flip--60.1
rmApplied add-cube-cbrt60.1
Taylor expanded around inf 5.1
Simplified5.1
Final simplification12.1
herbie shell --seed 2019354 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))