Average Error: 12.3 → 0.6
Time: 2.2m
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}\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left(\left(\sqrt[3]{w \cdot \left(w \cdot r\right)} \cdot \sqrt[3]{w \cdot \left(w \cdot r\right)}\right) \cdot \sqrt[3]{w \cdot \left(w \cdot r\right)}\right) \cdot r}{1 - v}\right) - 4.5 = -\infty:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)}{\frac{1 - v \cdot v}{3 - 2 \cdot v}} \cdot \left(1 + v\right)\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}{1 - v}\right) - 4.5\\ \end{array}\]

Error

Bits error versus v

Bits error versus w

Bits error versus r

Try it out

  1. Inputs

  2. Original Output:

    Herbie Output:

Derivation

  1. Split input into 2 regimes
  2. if (- (- (+ 3 (/ 2 (* r r))) (* (* 0.125 (- 3 (* 2 v))) (/ (* (* (* (cbrt (* w (* w r))) (cbrt (* w (* w r)))) (cbrt (* w (* w r)))) r) (- 1 v)))) 4.5) < -inf.0

    1. Initial program 60.0

      \[\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*60.0

      \[\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\]
    4. Using strategy rm
    5. Applied flip--60.4

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{\frac{1 \cdot 1 - v \cdot v}{1 + v}}}\right) - 4.5\]
    6. Applied associate-/r/60.4

      \[\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(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{1 \cdot 1 - v \cdot v} \cdot \left(1 + v\right)}\right) - 4.5\]
    7. Applied simplify11.0

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

    if -inf.0 < (- (- (+ 3 (/ 2 (* r r))) (* (* 0.125 (- 3 (* 2 v))) (/ (* (* (* (cbrt (* w (* w r))) (cbrt (* w (* w r)))) (cbrt (* w (* w r)))) r) (- 1 v)))) 4.5)

    1. Initial program 10.8

      \[\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*5.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\]
    4. Using strategy rm
    5. Applied *-un-lft-identity5.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(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
    6. Applied times-frac0.3

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

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

Runtime

Time bar (total: 2.2m)Debug logProfile

herbie shell --seed '#(1072361757 3390613284 2339397988 1175251238 145061547 3101881848)' 
(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))