Average Error: 30.4 → 12.2
Time: 6.6s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.433287483387415562801378480911970005954 \cdot 10^{61}:\\ \;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.3333333333333333148296162562473909929395, 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\ \mathbf{elif}\;x \le 3522.541069158396112470654770731925964355:\\ \;\;\;\;\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \left(\left(\left(\sqrt[3]{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x}}}\right)\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.0493827160493827133080912972218357026577, 0.6666666666666666296592325124947819858789 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{4}}\right)}^{\frac{1}{3}}\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\ \end{array}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\begin{array}{l}
\mathbf{if}\;x \le -4.433287483387415562801378480911970005954 \cdot 10^{61}:\\
\;\;\;\;\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.3333333333333333148296162562473909929395, 0.06172839506172839163511412152729462832212 \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\\

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

\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.0493827160493827133080912972218357026577, 0.6666666666666666296592325124947819858789 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{4}}\right)}^{\frac{1}{3}}\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\\

\end{array}
double f(double x) {
        double r75337 = x;
        double r75338 = 1.0;
        double r75339 = r75337 + r75338;
        double r75340 = cbrt(r75339);
        double r75341 = cbrt(r75337);
        double r75342 = r75340 - r75341;
        return r75342;
}

double f(double x) {
        double r75343 = x;
        double r75344 = -4.4332874833874156e+61;
        bool r75345 = r75343 <= r75344;
        double r75346 = 1.0;
        double r75347 = 2.0;
        double r75348 = pow(r75343, r75347);
        double r75349 = r75346 / r75348;
        double r75350 = 0.3333333333333333;
        double r75351 = pow(r75349, r75350);
        double r75352 = 0.3333333333333333;
        double r75353 = 0.06172839506172839;
        double r75354 = 8.0;
        double r75355 = pow(r75343, r75354);
        double r75356 = r75346 / r75355;
        double r75357 = pow(r75356, r75350);
        double r75358 = r75353 * r75357;
        double r75359 = 0.1111111111111111;
        double r75360 = 5.0;
        double r75361 = pow(r75343, r75360);
        double r75362 = r75346 / r75361;
        double r75363 = pow(r75362, r75350);
        double r75364 = r75359 * r75363;
        double r75365 = r75358 - r75364;
        double r75366 = fma(r75351, r75352, r75365);
        double r75367 = 3522.541069158396;
        bool r75368 = r75343 <= r75367;
        double r75369 = 1.0;
        double r75370 = r75343 + r75369;
        double r75371 = cbrt(r75370);
        double r75372 = r75371 * r75371;
        double r75373 = cbrt(r75343);
        double r75374 = r75373 * r75373;
        double r75375 = cbrt(r75374);
        double r75376 = cbrt(r75375);
        double r75377 = r75376 * r75376;
        double r75378 = r75377 * r75376;
        double r75379 = cbrt(r75373);
        double r75380 = r75379 * r75379;
        double r75381 = cbrt(r75380);
        double r75382 = cbrt(r75379);
        double r75383 = r75381 * r75382;
        double r75384 = r75378 * r75383;
        double r75385 = r75373 * r75384;
        double r75386 = r75372 - r75385;
        double r75387 = r75371 + r75373;
        double r75388 = r75386 / r75387;
        double r75389 = 7.0;
        double r75390 = pow(r75343, r75389);
        double r75391 = r75346 / r75390;
        double r75392 = pow(r75391, r75350);
        double r75393 = 0.04938271604938271;
        double r75394 = 0.6666666666666666;
        double r75395 = r75346 / r75343;
        double r75396 = pow(r75395, r75350);
        double r75397 = r75394 * r75396;
        double r75398 = 4.0;
        double r75399 = pow(r75343, r75398);
        double r75400 = r75346 / r75399;
        double r75401 = pow(r75400, r75350);
        double r75402 = r75359 * r75401;
        double r75403 = r75397 - r75402;
        double r75404 = fma(r75392, r75393, r75403);
        double r75405 = r75404 / r75387;
        double r75406 = r75368 ? r75388 : r75405;
        double r75407 = r75345 ? r75366 : r75406;
        return r75407;
}

Error

Bits error versus x

Derivation

  1. Split input into 3 regimes
  2. if x < -4.4332874833874156e+61

    1. Initial program 61.2

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

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

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

    if -4.4332874833874156e+61 < x < 3522.541069158396

    1. Initial program 5.0

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

      \[\leadsto \color{blue}{\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt5.0

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

      \[\leadsto \frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt4.9

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

      \[\leadsto \frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{\sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt[3]{x}}}\right)}\right)}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\]
    10. Using strategy rm
    11. Applied add-cube-cbrt4.9

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

    if 3522.541069158396 < x

    1. Initial program 60.2

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

      \[\leadsto \color{blue}{\frac{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} - \sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}}\]
    4. Taylor expanded around inf 5.1

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

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left({\left(\frac{1}{{x}^{7}}\right)}^{\frac{1}{3}}, 0.0493827160493827133080912972218357026577, 0.6666666666666666296592325124947819858789 \cdot {\left(\frac{1}{x}\right)}^{\frac{1}{3}} - 0.1111111111111111049432054187491303309798 \cdot {\left(\frac{1}{{x}^{4}}\right)}^{\frac{1}{3}}\right)}}{\sqrt[3]{x + 1} + \sqrt[3]{x}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification12.2

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

Reproduce

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