Average Error: 29.7 → 12.0
Time: 6.0s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.4628901123669468 \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 1.9364214566131179 \cdot 10^{-4}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1} \cdot \sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1} \cdot \sqrt[3]{x - 1}}} \cdot \sqrt[3]{\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.4628901123669468 \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 1.9364214566131179 \cdot 10^{-4}:\\
\;\;\;\;\sqrt[3]{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1} \cdot \sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1} \cdot \sqrt[3]{x - 1}}} \cdot \sqrt[3]{\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 r80441 = x;
        double r80442 = 1.0;
        double r80443 = r80441 + r80442;
        double r80444 = cbrt(r80443);
        double r80445 = cbrt(r80441);
        double r80446 = r80444 - r80445;
        return r80446;
}

double f(double x) {
        double r80447 = x;
        double r80448 = -4.462890112366947e+61;
        bool r80449 = r80447 <= r80448;
        double r80450 = 0.3333333333333333;
        double r80451 = 1.0;
        double r80452 = 2.0;
        double r80453 = pow(r80447, r80452);
        double r80454 = r80451 / r80453;
        double r80455 = 0.3333333333333333;
        double r80456 = pow(r80454, r80455);
        double r80457 = r80450 * r80456;
        double r80458 = 0.06172839506172839;
        double r80459 = 8.0;
        double r80460 = pow(r80447, r80459);
        double r80461 = r80451 / r80460;
        double r80462 = pow(r80461, r80455);
        double r80463 = r80458 * r80462;
        double r80464 = r80457 + r80463;
        double r80465 = 0.1111111111111111;
        double r80466 = 5.0;
        double r80467 = pow(r80447, r80466);
        double r80468 = r80451 / r80467;
        double r80469 = pow(r80468, r80455);
        double r80470 = r80465 * r80469;
        double r80471 = r80464 - r80470;
        double r80472 = 0.0001936421456613118;
        bool r80473 = r80447 <= r80472;
        double r80474 = r80447 * r80447;
        double r80475 = 1.0;
        double r80476 = r80475 * r80475;
        double r80477 = r80474 - r80476;
        double r80478 = cbrt(r80477);
        double r80479 = r80478 * r80478;
        double r80480 = r80447 - r80475;
        double r80481 = cbrt(r80480);
        double r80482 = r80481 * r80481;
        double r80483 = r80479 / r80482;
        double r80484 = cbrt(r80483);
        double r80485 = r80447 + r80475;
        double r80486 = cbrt(r80485);
        double r80487 = cbrt(r80486);
        double r80488 = r80484 * r80487;
        double r80489 = cbrt(r80447);
        double r80490 = r80488 - r80489;
        double r80491 = 0.0;
        double r80492 = r80491 + r80475;
        double r80493 = r80486 + r80489;
        double r80494 = r80486 * r80493;
        double r80495 = 0.6666666666666666;
        double r80496 = pow(r80447, r80495);
        double r80497 = r80494 + r80496;
        double r80498 = r80492 / r80497;
        double r80499 = r80473 ? r80490 : r80498;
        double r80500 = r80449 ? r80471 : r80499;
        return r80500;
}

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.462890112366947e+61

    1. Initial program 61.2

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

      \[\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.462890112366947e+61 < x < 0.0001936421456613118

    1. Initial program 4.5

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

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

      \[\leadsto \color{blue}{\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}}} - \sqrt[3]{x}\]
    5. Using strategy rm
    6. Applied flip-+4.5

      \[\leadsto \sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x - 1}}}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\]
    7. Applied cbrt-div4.5

      \[\leadsto \sqrt[3]{\sqrt[3]{x + 1} \cdot \color{blue}{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}}}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\]
    8. Applied flip-+4.5

      \[\leadsto \sqrt[3]{\sqrt[3]{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x - 1}}} \cdot \frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\]
    9. Applied cbrt-div4.5

      \[\leadsto \sqrt[3]{\color{blue}{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}}} \cdot \frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1}}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\]
    10. Applied frac-times4.5

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

    if 0.0001936421456613118 < x

    1. Initial program 58.7

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

      \[\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.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.4628901123669468 \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 1.9364214566131179 \cdot 10^{-4}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt[3]{x \cdot x - 1 \cdot 1} \cdot \sqrt[3]{x \cdot x - 1 \cdot 1}}{\sqrt[3]{x - 1} \cdot \sqrt[3]{x - 1}}} \cdot \sqrt[3]{\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 2020062 
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))