Average Error: 29.5 → 11.6
Time: 5.9s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.50213572021831194 \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.07711975842685659:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \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.50213572021831194 \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.07711975842685659:\\
\;\;\;\;\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \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 r84618 = x;
        double r84619 = 1.0;
        double r84620 = r84618 + r84619;
        double r84621 = cbrt(r84620);
        double r84622 = cbrt(r84618);
        double r84623 = r84621 - r84622;
        return r84623;
}

double f(double x) {
        double r84624 = x;
        double r84625 = -4.502135720218312e+61;
        bool r84626 = r84624 <= r84625;
        double r84627 = 0.3333333333333333;
        double r84628 = 1.0;
        double r84629 = 2.0;
        double r84630 = pow(r84624, r84629);
        double r84631 = r84628 / r84630;
        double r84632 = 0.3333333333333333;
        double r84633 = pow(r84631, r84632);
        double r84634 = r84627 * r84633;
        double r84635 = 0.06172839506172839;
        double r84636 = 8.0;
        double r84637 = pow(r84624, r84636);
        double r84638 = r84628 / r84637;
        double r84639 = pow(r84638, r84632);
        double r84640 = r84635 * r84639;
        double r84641 = r84634 + r84640;
        double r84642 = 0.1111111111111111;
        double r84643 = 5.0;
        double r84644 = pow(r84624, r84643);
        double r84645 = r84628 / r84644;
        double r84646 = pow(r84645, r84632);
        double r84647 = r84642 * r84646;
        double r84648 = r84641 - r84647;
        double r84649 = 0.07711975842685659;
        bool r84650 = r84624 <= r84649;
        double r84651 = 3.0;
        double r84652 = pow(r84624, r84651);
        double r84653 = 1.0;
        double r84654 = pow(r84653, r84651);
        double r84655 = r84652 + r84654;
        double r84656 = cbrt(r84655);
        double r84657 = r84624 * r84624;
        double r84658 = r84653 * r84653;
        double r84659 = r84624 * r84653;
        double r84660 = r84658 - r84659;
        double r84661 = r84657 + r84660;
        double r84662 = cbrt(r84661);
        double r84663 = r84656 / r84662;
        double r84664 = cbrt(r84624);
        double r84665 = r84663 - r84664;
        double r84666 = 0.0;
        double r84667 = r84666 + r84653;
        double r84668 = r84624 + r84653;
        double r84669 = cbrt(r84668);
        double r84670 = r84669 + r84664;
        double r84671 = r84669 * r84670;
        double r84672 = 0.6666666666666666;
        double r84673 = pow(r84624, r84672);
        double r84674 = r84671 + r84673;
        double r84675 = r84667 / r84674;
        double r84676 = r84650 ? r84665 : r84675;
        double r84677 = r84626 ? r84648 : r84676;
        return r84677;
}

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

    1. Initial program 61.2

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

      \[\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.502135720218312e+61 < x < 0.07711975842685659

    1. Initial program 5.0

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

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

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

    if 0.07711975842685659 < x

    1. Initial program 58.8

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

      \[\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 simplification11.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.50213572021831194 \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.07711975842685659:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{3} + {1}^{3}}}{\sqrt[3]{x \cdot x + \left(1 \cdot 1 - x \cdot 1\right)}} - \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 2020034 
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))