Average Error: 30.2 → 9.0
Time: 17.8s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4661.327623294632758188527077436447143555:\\ \;\;\;\;\mathsf{fma}\left(0.3333333333333333148296162562473909929395, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111049432054187491303309798\\ \mathbf{elif}\;x \le 1.421809655538258285959601900927395945473 \cdot 10^{-4}:\\ \;\;\;\;\log \left(e^{\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\mathsf{fma}\left(\sqrt[3]{1 + x} + \sqrt[3]{x}, \sqrt[3]{1 + x}, {x}^{\frac{2}{3}}\right)}\\ \end{array}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\begin{array}{l}
\mathbf{if}\;x \le -4661.327623294632758188527077436447143555:\\
\;\;\;\;\mathsf{fma}\left(0.3333333333333333148296162562473909929395, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111049432054187491303309798\\

\mathbf{elif}\;x \le 1.421809655538258285959601900927395945473 \cdot 10^{-4}:\\
\;\;\;\;\log \left(e^{\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\right)\\

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

\end{array}
double f(double x) {
        double r48217 = x;
        double r48218 = 1.0;
        double r48219 = r48217 + r48218;
        double r48220 = cbrt(r48219);
        double r48221 = cbrt(r48217);
        double r48222 = r48220 - r48221;
        return r48222;
}

double f(double x) {
        double r48223 = x;
        double r48224 = -4661.327623294633;
        bool r48225 = r48223 <= r48224;
        double r48226 = 0.3333333333333333;
        double r48227 = 1.0;
        double r48228 = 2.0;
        double r48229 = pow(r48223, r48228);
        double r48230 = r48227 / r48229;
        double r48231 = cbrt(r48230);
        double r48232 = 8.0;
        double r48233 = pow(r48223, r48232);
        double r48234 = r48227 / r48233;
        double r48235 = cbrt(r48234);
        double r48236 = 0.06172839506172839;
        double r48237 = r48235 * r48236;
        double r48238 = fma(r48226, r48231, r48237);
        double r48239 = 5.0;
        double r48240 = pow(r48223, r48239);
        double r48241 = r48227 / r48240;
        double r48242 = cbrt(r48241);
        double r48243 = 0.1111111111111111;
        double r48244 = r48242 * r48243;
        double r48245 = r48238 - r48244;
        double r48246 = 0.00014218096555382583;
        bool r48247 = r48223 <= r48246;
        double r48248 = 1.0;
        double r48249 = r48223 + r48248;
        double r48250 = cbrt(r48249);
        double r48251 = cbrt(r48223);
        double r48252 = cbrt(r48251);
        double r48253 = r48252 * r48252;
        double r48254 = r48253 * r48252;
        double r48255 = r48250 - r48254;
        double r48256 = exp(r48255);
        double r48257 = log(r48256);
        double r48258 = r48248 + r48223;
        double r48259 = cbrt(r48258);
        double r48260 = r48259 + r48251;
        double r48261 = 0.6666666666666666;
        double r48262 = pow(r48223, r48261);
        double r48263 = fma(r48260, r48259, r48262);
        double r48264 = r48248 / r48263;
        double r48265 = r48247 ? r48257 : r48264;
        double r48266 = r48225 ? r48245 : r48265;
        return r48266;
}

Error

Bits error versus x

Derivation

  1. Split input into 3 regimes
  2. if x < -4661.327623294633

    1. Initial program 60.3

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

      \[\leadsto \sqrt[3]{x + 1} - \color{blue}{\log \left(e^{\sqrt[3]{x}}\right)}\]
    4. Applied add-log-exp63.5

      \[\leadsto \color{blue}{\log \left(e^{\sqrt[3]{x + 1}}\right)} - \log \left(e^{\sqrt[3]{x}}\right)\]
    5. Applied diff-log63.5

      \[\leadsto \color{blue}{\log \left(\frac{e^{\sqrt[3]{x + 1}}}{e^{\sqrt[3]{x}}}\right)}\]
    6. Simplified60.3

      \[\leadsto \log \color{blue}{\left(e^{\sqrt[3]{x + 1} - \sqrt[3]{x}}\right)}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity60.3

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

      \[\leadsto \log \left(e^{\sqrt[3]{x + 1} - \color{blue}{\sqrt[3]{1} \cdot \sqrt[3]{x}}}\right)\]
    10. Applied add-cube-cbrt61.0

      \[\leadsto \log \left(e^{\sqrt[3]{\color{blue}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right) \cdot \sqrt[3]{x + 1}}} - \sqrt[3]{1} \cdot \sqrt[3]{x}}\right)\]
    11. Applied cbrt-prod61.8

      \[\leadsto \log \left(e^{\color{blue}{\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}}} - \sqrt[3]{1} \cdot \sqrt[3]{x}}\right)\]
    12. Applied prod-diff62.6

      \[\leadsto \log \left(e^{\color{blue}{\mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{x} \cdot \sqrt[3]{1}\right) + \mathsf{fma}\left(-\sqrt[3]{x}, \sqrt[3]{1}, \sqrt[3]{x} \cdot \sqrt[3]{1}\right)}}\right)\]
    13. Applied exp-sum62.6

      \[\leadsto \log \color{blue}{\left(e^{\mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{x} \cdot \sqrt[3]{1}\right)} \cdot e^{\mathsf{fma}\left(-\sqrt[3]{x}, \sqrt[3]{1}, \sqrt[3]{x} \cdot \sqrt[3]{1}\right)}\right)}\]
    14. Applied log-prod62.6

      \[\leadsto \color{blue}{\log \left(e^{\mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}, \sqrt[3]{\sqrt[3]{x + 1}}, -\sqrt[3]{x} \cdot \sqrt[3]{1}\right)}\right) + \log \left(e^{\mathsf{fma}\left(-\sqrt[3]{x}, \sqrt[3]{1}, \sqrt[3]{x} \cdot \sqrt[3]{1}\right)}\right)}\]
    15. Simplified60.9

      \[\leadsto \color{blue}{\left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\right)} + \log \left(e^{\mathsf{fma}\left(-\sqrt[3]{x}, \sqrt[3]{1}, \sqrt[3]{x} \cdot \sqrt[3]{1}\right)}\right)\]
    16. Simplified60.9

      \[\leadsto \left(\sqrt[3]{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}} \cdot \sqrt[3]{\sqrt[3]{x + 1}} - \sqrt[3]{x}\right) + \color{blue}{0}\]
    17. Taylor expanded around inf 44.5

      \[\leadsto \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)} + 0\]
    18. Simplified31.1

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

    if -4661.327623294633 < x < 0.00014218096555382583

    1. Initial program 0.1

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

      \[\leadsto \sqrt[3]{x + 1} - \color{blue}{\log \left(e^{\sqrt[3]{x}}\right)}\]
    4. Applied add-log-exp0.1

      \[\leadsto \color{blue}{\log \left(e^{\sqrt[3]{x + 1}}\right)} - \log \left(e^{\sqrt[3]{x}}\right)\]
    5. Applied diff-log0.1

      \[\leadsto \color{blue}{\log \left(\frac{e^{\sqrt[3]{x + 1}}}{e^{\sqrt[3]{x}}}\right)}\]
    6. Simplified0.1

      \[\leadsto \log \color{blue}{\left(e^{\sqrt[3]{x + 1} - \sqrt[3]{x}}\right)}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt0.1

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

    if 0.00014218096555382583 < x

    1. Initial program 59.1

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

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

      \[\leadsto \frac{0 + 1}{\color{blue}{\mathsf{fma}\left(\sqrt[3]{1 + x} + \sqrt[3]{x}, \sqrt[3]{1 + x}, {x}^{\frac{2}{3}}\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4661.327623294632758188527077436447143555:\\ \;\;\;\;\mathsf{fma}\left(0.3333333333333333148296162562473909929395, \sqrt[3]{\frac{1}{{x}^{2}}}, \sqrt[3]{\frac{1}{{x}^{8}}} \cdot 0.06172839506172839163511412152729462832212\right) - \sqrt[3]{\frac{1}{{x}^{5}}} \cdot 0.1111111111111111049432054187491303309798\\ \mathbf{elif}\;x \le 1.421809655538258285959601900927395945473 \cdot 10^{-4}:\\ \;\;\;\;\log \left(e^{\sqrt[3]{x + 1} - \left(\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right) \cdot \sqrt[3]{\sqrt[3]{x}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\mathsf{fma}\left(\sqrt[3]{1 + x} + \sqrt[3]{x}, \sqrt[3]{1 + x}, {x}^{\frac{2}{3}}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  :precision binary64
  (- (cbrt (+ x 1)) (cbrt x)))