Average Error: 30.0 → 0.7
Time: 6.8s
Precision: 64
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\frac{\frac{\left(0 + 1\right) \cdot \left(\left(x + 1\right) + x\right)}{\left(x + 1\right) + x}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\]
\sqrt[3]{x + 1} - \sqrt[3]{x}
\frac{\frac{\left(0 + 1\right) \cdot \left(\left(x + 1\right) + x\right)}{\left(x + 1\right) + x}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}
double f(double x) {
        double r54471 = x;
        double r54472 = 1.0;
        double r54473 = r54471 + r54472;
        double r54474 = cbrt(r54473);
        double r54475 = cbrt(r54471);
        double r54476 = r54474 - r54475;
        return r54476;
}

double f(double x) {
        double r54477 = 0.0;
        double r54478 = 1.0;
        double r54479 = r54477 + r54478;
        double r54480 = x;
        double r54481 = r54480 + r54478;
        double r54482 = r54481 + r54480;
        double r54483 = r54479 * r54482;
        double r54484 = r54483 / r54482;
        double r54485 = cbrt(r54481);
        double r54486 = cbrt(r54480);
        double r54487 = r54486 * r54486;
        double r54488 = cbrt(r54487);
        double r54489 = cbrt(r54486);
        double r54490 = r54488 * r54489;
        double r54491 = r54486 * r54490;
        double r54492 = cbrt(r54491);
        double r54493 = fma(r54492, r54489, r54485);
        double r54494 = r54489 * r54493;
        double r54495 = r54488 * r54494;
        double r54496 = fma(r54485, r54485, r54495);
        double r54497 = r54484 / r54496;
        return r54497;
}

Error

Bits error versus x

Derivation

  1. Initial program 30.0

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

    \[\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-prod30.1

    \[\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--30.1

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

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

    \[\leadsto \frac{\left(x + 1\right) - x}{\color{blue}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}}\]
  9. Using strategy rm
  10. Applied flip--30.7

    \[\leadsto \frac{\color{blue}{\frac{\left(x + 1\right) \cdot \left(x + 1\right) - x \cdot x}{\left(x + 1\right) + x}}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\]
  11. Simplified0.7

    \[\leadsto \frac{\frac{\color{blue}{\left(0 + 1\right) \cdot \left(\left(x + 1\right) + x\right)}}{\left(x + 1\right) + x}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\]
  12. Using strategy rm
  13. Applied add-cube-cbrt0.7

    \[\leadsto \frac{\frac{\left(0 + 1\right) \cdot \left(\left(x + 1\right) + x\right)}{\left(x + 1\right) + x}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\]
  14. Applied cbrt-prod0.7

    \[\leadsto \frac{\frac{\left(0 + 1\right) \cdot \left(\left(x + 1\right) + x\right)}{\left(x + 1\right) + x}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\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]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\]
  15. Final simplification0.7

    \[\leadsto \frac{\frac{\left(0 + 1\right) \cdot \left(\left(x + 1\right) + x\right)}{\left(x + 1\right) + x}}{\mathsf{fma}\left(\sqrt[3]{x + 1}, \sqrt[3]{x + 1}, \sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{\sqrt[3]{x}} \cdot \mathsf{fma}\left(\sqrt[3]{\sqrt[3]{x} \cdot \left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \sqrt[3]{\sqrt[3]{x}}\right)}, \sqrt[3]{\sqrt[3]{x}}, \sqrt[3]{x + 1}\right)\right)\right)}\]

Reproduce

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