Average Error: 29.4 → 15.6
Time: 21.7s
Precision: 64
Internal Precision: 128
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\begin{array}{l} \mathbf{if}\;x \le 6520.855062460554:\\ \;\;\;\;\sqrt[3]{1 + x} - \sqrt[3]{x}\\ \mathbf{else}:\\ \;\;\;\;(\left(\sqrt[3]{\frac{1}{{x}^{5}}}\right) \cdot \frac{-1}{9} + \left((\frac{1}{3} \cdot \left(\sqrt[3]{\frac{1}{x \cdot x}}\right) + \left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot \frac{5}{81}\right))_*\right))_*\\ \end{array}\]

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < 6520.855062460554

    1. Initial program 0.1

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

      \[\leadsto \sqrt[3]{x + 1} - \color{blue}{{x}^{\frac{1}{3}}}\]
    3. Simplified0.1

      \[\leadsto \sqrt[3]{x + 1} - \color{blue}{\sqrt[3]{x}}\]

    if 6520.855062460554 < x

    1. Initial program 60.1

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

      \[\leadsto \color{blue}{\left(\frac{1}{3} \cdot {\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}} + \frac{5}{81} \cdot {\left(\frac{1}{{x}^{8}}\right)}^{\frac{1}{3}}\right) - \frac{1}{9} \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}}\]
    3. Simplified31.8

      \[\leadsto \color{blue}{(\left(\sqrt[3]{\frac{1}{{x}^{5}}}\right) \cdot \frac{-1}{9} + \left((\frac{1}{3} \cdot \left(\sqrt[3]{\frac{1}{x \cdot x}}\right) + \left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot \frac{5}{81}\right))_*\right))_*}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification15.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le 6520.855062460554:\\ \;\;\;\;\sqrt[3]{1 + x} - \sqrt[3]{x}\\ \mathbf{else}:\\ \;\;\;\;(\left(\sqrt[3]{\frac{1}{{x}^{5}}}\right) \cdot \frac{-1}{9} + \left((\frac{1}{3} \cdot \left(\sqrt[3]{\frac{1}{x \cdot x}}\right) + \left(\sqrt[3]{\frac{1}{{x}^{8}}} \cdot \frac{5}{81}\right))_*\right))_*\\ \end{array}\]

Runtime

Time bar (total: 21.7s)Debug logProfile

BaselineHerbieOracleSpan%
Regimes29.415.615.613.899.7%
herbie shell --seed 2018355 +o rules:numerics
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  (- (cbrt (+ x 1)) (cbrt x)))