Average Error: 29.9 → 8.9
Time: 10.2s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -3435.29454990893873:\\ \;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392 + 0.333333333333333315 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\ \mathbf{elif}\;x \le 0.10532502913683747:\\ \;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\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 -3435.29454990893873:\\
\;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392 + 0.333333333333333315 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\

\mathbf{elif}\;x \le 0.10532502913683747:\\
\;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\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 r63764 = x;
        double r63765 = 1.0;
        double r63766 = r63764 + r63765;
        double r63767 = cbrt(r63766);
        double r63768 = cbrt(r63764);
        double r63769 = r63767 - r63768;
        return r63769;
}

double f(double x) {
        double r63770 = x;
        double r63771 = -3435.2945499089387;
        bool r63772 = r63770 <= r63771;
        double r63773 = 1.0;
        double r63774 = 8.0;
        double r63775 = pow(r63770, r63774);
        double r63776 = r63773 / r63775;
        double r63777 = cbrt(r63776);
        double r63778 = 0.06172839506172839;
        double r63779 = r63777 * r63778;
        double r63780 = 0.3333333333333333;
        double r63781 = 2.0;
        double r63782 = pow(r63770, r63781);
        double r63783 = r63773 / r63782;
        double r63784 = cbrt(r63783);
        double r63785 = r63780 * r63784;
        double r63786 = r63779 + r63785;
        double r63787 = 0.1111111111111111;
        double r63788 = 5.0;
        double r63789 = pow(r63770, r63788);
        double r63790 = r63773 / r63789;
        double r63791 = cbrt(r63790);
        double r63792 = r63787 * r63791;
        double r63793 = r63786 - r63792;
        double r63794 = 0.10532502913683747;
        bool r63795 = r63770 <= r63794;
        double r63796 = r63770 * r63770;
        double r63797 = 1.0;
        double r63798 = r63797 * r63797;
        double r63799 = r63796 - r63798;
        double r63800 = cbrt(r63799);
        double r63801 = r63770 - r63797;
        double r63802 = cbrt(r63801);
        double r63803 = r63800 / r63802;
        double r63804 = cbrt(r63770);
        double r63805 = r63803 - r63804;
        double r63806 = r63770 + r63797;
        double r63807 = cbrt(r63806);
        double r63808 = r63807 + r63804;
        double r63809 = r63807 * r63808;
        double r63810 = 0.6666666666666666;
        double r63811 = pow(r63770, r63810);
        double r63812 = r63809 + r63811;
        double r63813 = r63797 / r63812;
        double r63814 = r63795 ? r63805 : r63813;
        double r63815 = r63772 ? r63793 : r63814;
        return r63815;
}

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 < -3435.2945499089387

    1. Initial program 60.2

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

      \[\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}}}\]
    3. Simplified30.7

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

    if -3435.2945499089387 < x < 0.10532502913683747

    1. Initial program 0.1

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

      \[\leadsto \sqrt[3]{\color{blue}{\frac{x \cdot x - 1 \cdot 1}{x - 1}}} - \sqrt[3]{x}\]
    4. Applied cbrt-div0.1

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

    if 0.10532502913683747 < x

    1. Initial program 59.5

      \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
    2. Using strategy rm
    3. Applied flip3--59.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 simplification8.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -3435.29454990893873:\\ \;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.061728395061728392 + 0.333333333333333315 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\ \mathbf{elif}\;x \le 0.10532502913683747:\\ \;\;\;\;\frac{\sqrt[3]{x \cdot x - 1 \cdot 1}}{\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 2020042 
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))