Average Error: 12.3 → 1.5
Time: 2.5m
Precision: 64
Internal Precision: 576
\[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
\[\begin{array}{l} \mathbf{if}\;w \cdot w \le 1.1699474493521 \cdot 10^{-320}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{1 - v}\right) - 4.5\\ \mathbf{if}\;w \cdot w \le 2.8106782518475753 \cdot 10^{+293}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(\left(w \cdot w\right) \cdot r\right) \cdot r}}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(\sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)} \cdot \sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)}\right) \cdot \left(\sqrt[3]{\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)} \cdot \sqrt[3]{1 + v}\right)\right) - 4.5\\ \end{array}\]

Error

Bits error versus v

Bits error versus w

Bits error versus r

Derivation

  1. Split input into 3 regimes
  2. if (* w w) < 1.1699474493521e-320

    1. Initial program 10.4

      \[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    2. Using strategy rm
    3. Applied associate-*l*1.5

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - 4.5\]

    if 1.1699474493521e-320 < (* w w) < 2.8106782518475753e+293

    1. Initial program 7.6

      \[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    2. Using strategy rm
    3. Applied associate-/l*0.6

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(\left(w \cdot w\right) \cdot r\right) \cdot r}}}\right) - 4.5\]

    if 2.8106782518475753e+293 < (* w w)

    1. Initial program 57.7

      \[\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\]
    2. Using strategy rm
    3. Applied flip--57.7

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{\color{blue}{\frac{1 \cdot 1 - v \cdot v}{1 + v}}}\right) - 4.5\]
    4. Applied associate-/r/57.7

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 \cdot 1 - v \cdot v} \cdot \left(1 + v\right)}\right) - 4.5\]
    5. Applied simplify8.0

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right)} \cdot \left(1 + v\right)\right) - 4.5\]
    6. Using strategy rm
    7. Applied add-cube-cbrt8.3

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(\sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)} \cdot \sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)}\right) \cdot \sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)}}\right) - 4.5\]
    8. Using strategy rm
    9. Applied cbrt-prod8.2

      \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \left(\sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)} \cdot \sqrt[3]{\left(\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)\right) \cdot \left(1 + v\right)}\right) \cdot \color{blue}{\left(\sqrt[3]{\frac{3 + -2 \cdot v}{1 - v \cdot v} \cdot \left(0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)\right)} \cdot \sqrt[3]{1 + v}\right)}\right) - 4.5\]
  3. Recombined 3 regimes into one program.

Runtime

Time bar (total: 2.5m)Debug logProfile

herbie shell --seed '#(1071373924 2949776965 1885069702 3247780810 90874544 2263903749)' 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))