\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \leq 3.7610997609678704 \cdot 10^{-05}:\\
\;\;\;\;{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right)}^{0.3333333333333333} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{{x}^{0.6666666666666666} + \sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right)}\\
\end{array}(FPCore (x) :precision binary64 (- (cbrt (+ x 1.0)) (cbrt x)))
(FPCore (x)
:precision binary64
(if (<= x 3.7610997609678704e-05)
(-
(*
(pow (* (cbrt (+ x 1.0)) (cbrt (+ x 1.0))) 0.3333333333333333)
(cbrt (cbrt (+ x 1.0))))
(cbrt x))
(/
1.0
(+
(pow x 0.6666666666666666)
(* (cbrt (+ x 1.0)) (+ (cbrt (+ x 1.0)) (cbrt x)))))))double code(double x) {
return cbrt(x + 1.0) - cbrt(x);
}
double code(double x) {
double tmp;
if (x <= 3.7610997609678704e-05) {
tmp = (pow((cbrt(x + 1.0) * cbrt(x + 1.0)), 0.3333333333333333) * cbrt(cbrt(x + 1.0))) - cbrt(x);
} else {
tmp = 1.0 / (pow(x, 0.6666666666666666) + (cbrt(x + 1.0) * (cbrt(x + 1.0) + cbrt(x))));
}
return tmp;
}



Bits error versus x
Results
if x < 3.7610997609678704e-5Initial program 20.4
rmApplied add-cube-cbrt_binary64_45420.4
Applied cbrt-prod_binary64_45020.5
rmApplied pow1/3_binary64_50120.1
if 3.7610997609678704e-5 < x Initial program 58.8
rmApplied flip3--_binary64_42358.6
Simplified1.0
Simplified4.4
Final simplification16.2
herbie shell --seed 2020344
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1.0)) (cbrt x)))