\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -3435.29454990893873:\\
\;\;\;\;\mathsf{fma}\left(0.333333333333333315, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392\right) - 0.1111111111111111 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\
\mathbf{elif}\;x \le 0.10532502913683747:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}} - \sqrt[3]{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{{x}^{\frac{2}{3}} + \sqrt[3]{1 + x} \cdot \left(\sqrt[3]{x} + \sqrt[3]{1 + x}\right)}\\
\end{array}double f(double x) {
double r66025 = x;
double r66026 = 1.0;
double r66027 = r66025 + r66026;
double r66028 = cbrt(r66027);
double r66029 = cbrt(r66025);
double r66030 = r66028 - r66029;
return r66030;
}
double f(double x) {
double r66031 = x;
double r66032 = -3435.2945499089387;
bool r66033 = r66031 <= r66032;
double r66034 = 0.3333333333333333;
double r66035 = 1.0;
double r66036 = 2.0;
double r66037 = pow(r66031, r66036);
double r66038 = r66035 / r66037;
double r66039 = cbrt(r66038);
double r66040 = 8.0;
double r66041 = pow(r66031, r66040);
double r66042 = r66035 / r66041;
double r66043 = cbrt(r66042);
double r66044 = 0.06172839506172839;
double r66045 = r66043 * r66044;
double r66046 = fma(r66034, r66039, r66045);
double r66047 = 0.1111111111111111;
double r66048 = 5.0;
double r66049 = pow(r66031, r66048);
double r66050 = r66035 / r66049;
double r66051 = cbrt(r66050);
double r66052 = r66047 * r66051;
double r66053 = r66046 - r66052;
double r66054 = 0.10532502913683747;
bool r66055 = r66031 <= r66054;
double r66056 = r66031 * r66031;
double r66057 = 1.0;
double r66058 = r66057 * r66057;
double r66059 = r66056 - r66058;
double r66060 = cbrt(r66059);
double r66061 = r66031 - r66057;
double r66062 = cbrt(r66061);
double r66063 = r66060 / r66062;
double r66064 = cbrt(r66031);
double r66065 = r66063 - r66064;
double r66066 = 0.6666666666666666;
double r66067 = pow(r66031, r66066);
double r66068 = r66057 + r66031;
double r66069 = cbrt(r66068);
double r66070 = r66064 + r66069;
double r66071 = r66069 * r66070;
double r66072 = r66067 + r66071;
double r66073 = r66057 / r66072;
double r66074 = r66055 ? r66065 : r66073;
double r66075 = r66033 ? r66053 : r66074;
return r66075;
}



Bits error versus x
if x < -3435.2945499089387Initial program 60.2
rmApplied add-cbrt-cube60.2
Simplified60.2
Taylor expanded around inf 44.9
Simplified30.7
if -3435.2945499089387 < x < 0.10532502913683747Initial program 0.1
rmApplied flip-+0.1
Applied cbrt-div0.1
if 0.10532502913683747 < x Initial program 59.5
rmApplied add-cbrt-cube59.5
Simplified59.5
rmApplied flip3--59.5
Applied cube-div59.5
Applied cbrt-div59.5
Simplified30.7
Simplified4.4
Final simplification8.9
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))