Average Error: 31.1 → 19.0
Time: 28.3s
Precision: 64
Internal Precision: 320
\[\sqrt[3]{{x}^2 + {y}^2}\]
\[\begin{array}{l} \mathbf{if}\;\frac{1}{x} \le -1.1753017231552915 \cdot 10^{-155}:\\ \;\;\;\;\sqrt[3]{{x}^2 + {y}^2}\\ \mathbf{if}\;\frac{1}{x} \le 1.0071537603557484 \cdot 10^{-307}:\\ \;\;\;\;{\left(\frac{-1}{x}\right)}^{\frac{-2}{3}}\\ \mathbf{if}\;\frac{1}{x} \le 3.669349524740357 \cdot 10^{-157}:\\ \;\;\;\;{\left(\frac{1}{x}\right)}^{\frac{-2}{3}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{x}^2 + {y}^2}\\ \end{array}\]

Error

Bits error versus x

Bits error versus y

Derivation

  1. Split input into 3 regimes
  2. if (/ 1 x) < -1.1753017231552915e-155 or 3.669349524740357e-157 < (/ 1 x)

    1. Initial program 20.8

      \[\sqrt[3]{{x}^2 + {y}^2}\]

    if -1.1753017231552915e-155 < (/ 1 x) < 1.0071537603557484e-307

    1. Initial program 60.9

      \[\sqrt[3]{{x}^2 + {y}^2}\]
    2. Taylor expanded around -inf 14.2

      \[\leadsto \color{blue}{{\left(\frac{-1}{x}\right)}^{\frac{-2}{3}}}\]

    if 1.0071537603557484e-307 < (/ 1 x) < 3.669349524740357e-157

    1. Initial program 60.9

      \[\sqrt[3]{{x}^2 + {y}^2}\]
    2. Taylor expanded around inf 13.9

      \[\leadsto \color{blue}{{\left(\frac{1}{x}\right)}^{\frac{-2}{3}}}\]
  3. Recombined 3 regimes into one program.

Runtime

Time bar (total: 28.3s)Debug log

herbie shell --seed '#(2775764126 3555076145 3898259844 1891440260 2599947619 1948460636)' 
(FPCore (x y)
  :name "cbrt(sqr(x)+sqr(y))"
  (cbrt (+ (sqr x) (sqr y))))