Average Error: 30.5 → 15.4
Time: 6.9s
Precision: 64
\[\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}\]
\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;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -13791.613711332258 or 4029.1516870118044 < x

    1. Initial program 60.2

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube60.2

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)\right) \cdot \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}}\]
    4. Simplified60.2

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}^{3}}}\]
    5. Taylor expanded around inf 31.1

      \[\leadsto \sqrt[3]{\color{blue}{\left(0.037037037037037035 \cdot \frac{1}{{x}^{2}} + 0.0329218106995884732 \cdot \frac{1}{{x}^{4}}\right) - 0.037037037037037035 \cdot \frac{1}{{x}^{3}}}}\]
    6. Simplified30.3

      \[\leadsto \sqrt[3]{\color{blue}{\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)}}\]

    if -13791.613711332258 < x < 4029.1516870118044

    1. Initial program 0.1

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt0.1

      \[\leadsto \sqrt[3]{x + 1} - \sqrt[3]{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}\]
    4. Applied cbrt-prod0.1

      \[\leadsto \sqrt[3]{x + 1} - \color{blue}{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}}\]
    5. Applied add-cube-cbrt0.1

      \[\leadsto \sqrt[3]{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\]
    6. Applied cbrt-prod0.1

      \[\leadsto \color{blue}{\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}}} - \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\]
    7. Applied prod-diff0.1

      \[\leadsto \color{blue}{\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) + \mathsf{fma}\left(-\sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}\right)}\]
    8. Simplified0.1

      \[\leadsto \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) + \color{blue}{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\left(-\sqrt[3]{\sqrt[3]{x}}\right) + \sqrt[3]{\sqrt[3]{x}}\right)}\]
    9. Using strategy rm
    10. Applied add-log-exp0.1

      \[\leadsto \color{blue}{\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)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification15.4

    \[\leadsto \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}\]

Reproduce

herbie shell --seed 2020018 +o rules:numerics
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))