Average Error: 29.5 → 8.9
Time: 16.1s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4454.769258694103882589843124151229858398:\\ \;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212 + 0.3333333333333333148296162562473909929395 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111049432054187491303309798 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\ \mathbf{elif}\;x \le 0.002473014550763814704825716006553193437867:\\ \;\;\;\;\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{{x}^{\frac{2}{3}} + \sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right)}\\ \end{array}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\begin{array}{l}
\mathbf{if}\;x \le -4454.769258694103882589843124151229858398:\\
\;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212 + 0.3333333333333333148296162562473909929395 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111049432054187491303309798 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\

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

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

\end{array}
double f(double x) {
        double r41990 = x;
        double r41991 = 1.0;
        double r41992 = r41990 + r41991;
        double r41993 = cbrt(r41992);
        double r41994 = cbrt(r41990);
        double r41995 = r41993 - r41994;
        return r41995;
}

double f(double x) {
        double r41996 = x;
        double r41997 = -4454.769258694104;
        bool r41998 = r41996 <= r41997;
        double r41999 = 1.0;
        double r42000 = 8.0;
        double r42001 = pow(r41996, r42000);
        double r42002 = r41999 / r42001;
        double r42003 = cbrt(r42002);
        double r42004 = 0.06172839506172839;
        double r42005 = r42003 * r42004;
        double r42006 = 0.3333333333333333;
        double r42007 = 2.0;
        double r42008 = pow(r41996, r42007);
        double r42009 = r41999 / r42008;
        double r42010 = cbrt(r42009);
        double r42011 = r42006 * r42010;
        double r42012 = r42005 + r42011;
        double r42013 = 0.1111111111111111;
        double r42014 = 5.0;
        double r42015 = pow(r41996, r42014);
        double r42016 = r41999 / r42015;
        double r42017 = cbrt(r42016);
        double r42018 = r42013 * r42017;
        double r42019 = r42012 - r42018;
        double r42020 = 0.0024730145507638147;
        bool r42021 = r41996 <= r42020;
        double r42022 = 1.0;
        double r42023 = r41996 + r42022;
        double r42024 = cbrt(r42023);
        double r42025 = cbrt(r41996);
        double r42026 = cbrt(r42025);
        double r42027 = r42026 * r42026;
        double r42028 = r42027 * r42026;
        double r42029 = r42024 - r42028;
        double r42030 = 0.6666666666666666;
        double r42031 = pow(r41996, r42030);
        double r42032 = r42024 + r42025;
        double r42033 = r42024 * r42032;
        double r42034 = r42031 + r42033;
        double r42035 = r42022 / r42034;
        double r42036 = r42021 ? r42029 : r42035;
        double r42037 = r41998 ? r42019 : r42036;
        return r42037;
}

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

    1. Initial program 60.2

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

      \[\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. Simplified31.4

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

    if -4454.769258694104 < x < 0.0024730145507638147

    1. Initial program 0.1

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

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

    if 0.0024730145507638147 < x

    1. Initial program 59.4

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

      \[\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}{{x}^{\frac{2}{3}} + \sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification8.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4454.769258694103882589843124151229858398:\\ \;\;\;\;\left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212 + 0.3333333333333333148296162562473909929395 \cdot \sqrt[3]{\frac{1}{{x}^{2}}}\right) - 0.1111111111111111049432054187491303309798 \cdot \sqrt[3]{\frac{1}{{x}^{5}}}\\ \mathbf{elif}\;x \le 0.002473014550763814704825716006553193437867:\\ \;\;\;\;\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{{x}^{\frac{2}{3}} + \sqrt[3]{x + 1} \cdot \left(\sqrt[3]{x + 1} + \sqrt[3]{x}\right)}\\ \end{array}\]

Reproduce

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