Average Error: 30.2 → 12.2
Time: 5.6s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.51522985699883181 \cdot 10^{61}:\\ \;\;\;\;\left(0.333333333333333315 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\ \mathbf{elif}\;x \le 0.00751852742058336989:\\ \;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{0 + 1}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) + {x}^{\frac{2}{3}}}\\ \end{array}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\begin{array}{l}
\mathbf{if}\;x \le -4.51522985699883181 \cdot 10^{61}:\\
\;\;\;\;\left(0.333333333333333315 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\

\mathbf{elif}\;x \le 0.00751852742058336989:\\
\;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\

\mathbf{else}:\\
\;\;\;\;\frac{0 + 1}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) + {x}^{\frac{2}{3}}}\\

\end{array}
double f(double x) {
        double r72429 = x;
        double r72430 = 1.0;
        double r72431 = r72429 + r72430;
        double r72432 = cbrt(r72431);
        double r72433 = cbrt(r72429);
        double r72434 = r72432 - r72433;
        return r72434;
}

double f(double x) {
        double r72435 = x;
        double r72436 = -4.515229856998832e+61;
        bool r72437 = r72435 <= r72436;
        double r72438 = 0.3333333333333333;
        double r72439 = 1.0;
        double r72440 = 2.0;
        double r72441 = pow(r72435, r72440);
        double r72442 = r72439 / r72441;
        double r72443 = 0.3333333333333333;
        double r72444 = pow(r72442, r72443);
        double r72445 = r72438 * r72444;
        double r72446 = 0.06172839506172839;
        double r72447 = 8.0;
        double r72448 = pow(r72435, r72447);
        double r72449 = r72439 / r72448;
        double r72450 = pow(r72449, r72443);
        double r72451 = r72446 * r72450;
        double r72452 = r72445 + r72451;
        double r72453 = 0.1111111111111111;
        double r72454 = 5.0;
        double r72455 = pow(r72435, r72454);
        double r72456 = r72439 / r72455;
        double r72457 = pow(r72456, r72443);
        double r72458 = r72453 * r72457;
        double r72459 = r72452 - r72458;
        double r72460 = 0.00751852742058337;
        bool r72461 = r72435 <= r72460;
        double r72462 = 1.0;
        double r72463 = r72435 + r72462;
        double r72464 = cbrt(r72463);
        double r72465 = r72464 * r72464;
        double r72466 = cbrt(r72435);
        double r72467 = r72466 * r72466;
        double r72468 = cbrt(r72467);
        double r72469 = cbrt(r72466);
        double r72470 = r72468 * r72469;
        double r72471 = r72470 * r72466;
        double r72472 = r72465 - r72471;
        double r72473 = r72464 + r72466;
        double r72474 = r72472 / r72473;
        double r72475 = 0.0;
        double r72476 = r72475 + r72462;
        double r72477 = r72464 * r72473;
        double r72478 = 0.6666666666666666;
        double r72479 = pow(r72435, r72478);
        double r72480 = r72477 + r72479;
        double r72481 = r72476 / r72480;
        double r72482 = r72461 ? r72474 : r72481;
        double r72483 = r72437 ? r72459 : r72482;
        return r72483;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if x < -4.515229856998832e+61

    1. Initial program 61.2

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Taylor expanded around inf 40.2

      \[\leadsto \color{blue}{\left(0.333333333333333315 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}}\]

    if -4.515229856998832e+61 < x < 0.00751852742058337

    1. Initial program 5.2

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied flip--5.2

      \[\leadsto \color{blue}{\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt5.2

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

      \[\leadsto \frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \color{blue}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)} \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\]

    if 0.00751852742058337 < x

    1. Initial program 59.0

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied flip3--58.8

      \[\leadsto \color{blue}{\frac{{\left(\sqrt[3]{x + 1}\right)}^{3} - {\left(\sqrt[3]{x}\right)}^{3}}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} + \left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right)}}\]
    4. Simplified1.0

      \[\leadsto \frac{\color{blue}{0 + 1}}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} + \left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right)}\]
    5. Simplified4.4

      \[\leadsto \frac{0 + 1}{\color{blue}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) + {x}^{\frac{2}{3}}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification12.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.51522985699883181 \cdot 10^{61}:\\ \;\;\;\;\left(0.333333333333333315 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.061728395061728392 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\ \mathbf{elif}\;x \le 0.00751852742058336989:\\ \;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{0 + 1}{\sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right) + {x}^{\frac{2}{3}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020049 
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))