Average Error: 29.5 → 11.9
Time: 9.6s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.434657569191200310789441967763281724919 \cdot 10^{61}:\\ \;\;\;\;\left(\frac{6004799503160661}{18014398509481984} \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + \frac{1111999907992715}{18014398509481984} \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - \frac{2001599834386887}{18014398509481984} \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\ \mathbf{elif}\;x \le \frac{2622229241231225}{9223372036854775808}:\\ \;\;\;\;\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{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.434657569191200310789441967763281724919 \cdot 10^{61}:\\
\;\;\;\;\left(\frac{6004799503160661}{18014398509481984} \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + \frac{1111999907992715}{18014398509481984} \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - \frac{2001599834386887}{18014398509481984} \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\

\mathbf{elif}\;x \le \frac{2622229241231225}{9223372036854775808}:\\
\;\;\;\;\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\\

\mathbf{else}:\\
\;\;\;\;\frac{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 r40367 = x;
        double r40368 = 1.0;
        double r40369 = r40367 + r40368;
        double r40370 = cbrt(r40369);
        double r40371 = cbrt(r40367);
        double r40372 = r40370 - r40371;
        return r40372;
}

double f(double x) {
        double r40373 = x;
        double r40374 = -4.4346575691912003e+61;
        bool r40375 = r40373 <= r40374;
        double r40376 = 6004799503160661.0;
        double r40377 = 18014398509481984.0;
        double r40378 = r40376 / r40377;
        double r40379 = 1.0;
        double r40380 = 2.0;
        double r40381 = pow(r40373, r40380);
        double r40382 = r40379 / r40381;
        double r40383 = 0.3333333333333333;
        double r40384 = pow(r40382, r40383);
        double r40385 = r40378 * r40384;
        double r40386 = 1111999907992715.0;
        double r40387 = r40386 / r40377;
        double r40388 = 8.0;
        double r40389 = pow(r40373, r40388);
        double r40390 = r40379 / r40389;
        double r40391 = pow(r40390, r40383);
        double r40392 = r40387 * r40391;
        double r40393 = r40385 + r40392;
        double r40394 = 2001599834386887.0;
        double r40395 = r40394 / r40377;
        double r40396 = 5.0;
        double r40397 = pow(r40373, r40396);
        double r40398 = r40379 / r40397;
        double r40399 = pow(r40398, r40383);
        double r40400 = r40395 * r40399;
        double r40401 = r40393 - r40400;
        double r40402 = 2622229241231225.0;
        double r40403 = 9.223372036854776e+18;
        double r40404 = r40402 / r40403;
        bool r40405 = r40373 <= r40404;
        double r40406 = 1.0;
        double r40407 = r40373 + r40406;
        double r40408 = cbrt(r40407);
        double r40409 = r40408 * r40408;
        double r40410 = cbrt(r40409);
        double r40411 = cbrt(r40408);
        double r40412 = r40410 * r40411;
        double r40413 = cbrt(r40373);
        double r40414 = r40412 - r40413;
        double r40415 = r40408 + r40413;
        double r40416 = r40408 * r40415;
        double r40417 = 0.6666666666666666;
        double r40418 = pow(r40373, r40417);
        double r40419 = r40416 + r40418;
        double r40420 = r40406 / r40419;
        double r40421 = r40405 ? r40414 : r40420;
        double r40422 = r40375 ? r40401 : r40421;
        return r40422;
}

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

    1. Initial program 61.2

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

      \[\leadsto \color{blue}{\left(0.3333333333333333148296162562473909929395 \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}}\]
    3. Simplified41.1

      \[\leadsto \color{blue}{\left(\frac{6004799503160661}{18014398509481984} \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + \frac{1111999907992715}{18014398509481984} \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - \frac{2001599834386887}{18014398509481984} \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}}\]

    if -4.4346575691912003e+61 < x < 0.000284302664009791

    1. Initial program 5.2

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

      \[\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-prod5.2

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

    if 0.000284302664009791 < x

    1. Initial program 59.2

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

      \[\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}{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.5

      \[\leadsto \frac{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 simplification11.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.434657569191200310789441967763281724919 \cdot 10^{61}:\\ \;\;\;\;\left(\frac{6004799503160661}{18014398509481984} \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + \frac{1111999907992715}{18014398509481984} \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - \frac{2001599834386887}{18014398509481984} \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\\ \mathbf{elif}\;x \le \frac{2622229241231225}{9223372036854775808}:\\ \;\;\;\;\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{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 2019304 
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))