Average Error: 30.2 → 11.4
Time: 9.4s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.434414446652678902940983828948685795498 \cdot 10^{61}:\\ \;\;\;\;e^{\log \left(\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}}\right)}\\ \mathbf{elif}\;x \le 4.649696698633630488250260777233067096919 \cdot 10^{-310}:\\ \;\;\;\;\frac{\left(x + 1\right) - x}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}} + \sqrt[3]{x + 1}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}\\ \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.434414446652678902940983828948685795498 \cdot 10^{61}:\\
\;\;\;\;e^{\log \left(\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}}\right)}\\

\mathbf{elif}\;x \le 4.649696698633630488250260777233067096919 \cdot 10^{-310}:\\
\;\;\;\;\frac{\left(x + 1\right) - x}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}} + \sqrt[3]{x + 1}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}\\

\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 r64159 = x;
        double r64160 = 1.0;
        double r64161 = r64159 + r64160;
        double r64162 = cbrt(r64161);
        double r64163 = cbrt(r64159);
        double r64164 = r64162 - r64163;
        return r64164;
}

double f(double x) {
        double r64165 = x;
        double r64166 = -4.434414446652679e+61;
        bool r64167 = r64165 <= r64166;
        double r64168 = 0.3333333333333333;
        double r64169 = 1.0;
        double r64170 = 2.0;
        double r64171 = pow(r64165, r64170);
        double r64172 = r64169 / r64171;
        double r64173 = 0.3333333333333333;
        double r64174 = pow(r64172, r64173);
        double r64175 = r64168 * r64174;
        double r64176 = 0.06172839506172839;
        double r64177 = 8.0;
        double r64178 = pow(r64165, r64177);
        double r64179 = r64169 / r64178;
        double r64180 = pow(r64179, r64173);
        double r64181 = r64176 * r64180;
        double r64182 = r64175 + r64181;
        double r64183 = 0.1111111111111111;
        double r64184 = 5.0;
        double r64185 = pow(r64165, r64184);
        double r64186 = r64169 / r64185;
        double r64187 = pow(r64186, r64173);
        double r64188 = r64183 * r64187;
        double r64189 = r64182 - r64188;
        double r64190 = log(r64189);
        double r64191 = exp(r64190);
        double r64192 = 4.64969669863363e-310;
        bool r64193 = r64165 <= r64192;
        double r64194 = 1.0;
        double r64195 = r64165 + r64194;
        double r64196 = r64195 - r64165;
        double r64197 = cbrt(r64165);
        double r64198 = r64197 * r64197;
        double r64199 = cbrt(r64198);
        double r64200 = cbrt(r64197);
        double r64201 = r64199 * r64200;
        double r64202 = cbrt(r64195);
        double r64203 = r64201 + r64202;
        double r64204 = r64201 * r64203;
        double r64205 = r64202 * r64202;
        double r64206 = r64204 + r64205;
        double r64207 = r64196 / r64206;
        double r64208 = r64202 + r64197;
        double r64209 = r64202 * r64208;
        double r64210 = 0.6666666666666666;
        double r64211 = pow(r64165, r64210);
        double r64212 = r64209 + r64211;
        double r64213 = r64194 / r64212;
        double r64214 = r64193 ? r64207 : r64213;
        double r64215 = r64167 ? r64191 : r64214;
        return r64215;
}

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

    1. Initial program 61.2

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

      \[\leadsto \color{blue}{e^{\log \left(\sqrt[3]{x + 1} - \sqrt[3]{x}\right)}}\]
    4. Taylor expanded around inf 39.8

      \[\leadsto e^{\log \color{blue}{\left(\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}}\right)}}\]

    if -4.434414446652679e+61 < x < 4.64969669863363e-310

    1. Initial program 8.6

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

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

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

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

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

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

    if 4.64969669863363e-310 < x

    1. Initial program 30.7

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.434414446652678902940983828948685795498 \cdot 10^{61}:\\ \;\;\;\;e^{\log \left(\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}}\right)}\\ \mathbf{elif}\;x \le 4.649696698633630488250260777233067096919 \cdot 10^{-310}:\\ \;\;\;\;\frac{\left(x + 1\right) - x}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}} + \sqrt[3]{x + 1}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}\\ \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 2019308 
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))