\sqrt[3]{x + 1} - \sqrt[3]{x}\begin{array}{l}
\mathbf{if}\;x \le -13791.613711332258 \lor \neg \left(x \le 4029.15168701180437\right):\\
\;\;\;\;\sqrt[3]{\mathsf{fma}\left(-0.037037037037037035, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.0329218106995884732, \frac{1}{{x}^{4}}, \frac{\frac{0.037037037037037035}{x}}{x}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{\mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}\right)}\right) + \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\left(-\sqrt[3]{\sqrt[3]{x}}\right) + \sqrt[3]{\sqrt[3]{x}}\right)\\
\end{array}double f(double x) {
double r76523 = x;
double r76524 = 1.0;
double r76525 = r76523 + r76524;
double r76526 = cbrt(r76525);
double r76527 = cbrt(r76523);
double r76528 = r76526 - r76527;
return r76528;
}
double f(double x) {
double r76529 = x;
double r76530 = -13791.613711332258;
bool r76531 = r76529 <= r76530;
double r76532 = 4029.1516870118044;
bool r76533 = r76529 <= r76532;
double r76534 = !r76533;
bool r76535 = r76531 || r76534;
double r76536 = 0.037037037037037035;
double r76537 = -r76536;
double r76538 = 1.0;
double r76539 = 3.0;
double r76540 = pow(r76529, r76539);
double r76541 = r76538 / r76540;
double r76542 = 0.03292181069958847;
double r76543 = 4.0;
double r76544 = pow(r76529, r76543);
double r76545 = r76538 / r76544;
double r76546 = r76536 / r76529;
double r76547 = r76546 / r76529;
double r76548 = fma(r76542, r76545, r76547);
double r76549 = fma(r76537, r76541, r76548);
double r76550 = cbrt(r76549);
double r76551 = 1.0;
double r76552 = r76529 + r76551;
double r76553 = cbrt(r76552);
double r76554 = r76553 * r76553;
double r76555 = cbrt(r76554);
double r76556 = cbrt(r76553);
double r76557 = cbrt(r76529);
double r76558 = cbrt(r76557);
double r76559 = r76557 * r76557;
double r76560 = cbrt(r76559);
double r76561 = r76558 * r76560;
double r76562 = -r76561;
double r76563 = fma(r76555, r76556, r76562);
double r76564 = exp(r76563);
double r76565 = log(r76564);
double r76566 = -r76558;
double r76567 = r76566 + r76558;
double r76568 = r76560 * r76567;
double r76569 = r76565 + r76568;
double r76570 = r76535 ? r76550 : r76569;
return r76570;
}



Bits error versus x
if x < -13791.613711332258 or 4029.1516870118044 < x Initial program 60.2
rmApplied add-cbrt-cube60.2
Simplified60.2
Taylor expanded around inf 31.1
Simplified30.3
if -13791.613711332258 < x < 4029.1516870118044Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied cbrt-prod0.1
Applied add-cube-cbrt0.1
Applied cbrt-prod0.1
Applied prod-diff0.1
Simplified0.1
rmApplied add-log-exp0.1
Final simplification15.4
herbie shell --seed 2020018 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
:precision binary64
(- (cbrt (+ x 1)) (cbrt x)))