Average Error: 12.8 → 0.4
Time: 3.8s
Precision: 64
\[\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\]
\[\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(3 - 2 \cdot v\right) \cdot \frac{w \cdot r}{\frac{1 - v}{0.125 \cdot \left(w \cdot r\right)}}\right) - 4.5\]
\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
\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(3 - 2 \cdot v\right) \cdot \frac{w \cdot r}{\frac{1 - v}{0.125 \cdot \left(w \cdot r\right)}}\right) - 4.5
double code(double v, double w, double r) {
	return (((3.0 + (2.0 / (r * r))) - (((0.125 * (3.0 - (2.0 * v))) * (((w * w) * r) * r)) / (1.0 - v))) - 4.5);
}
double code(double v, double w, double r) {
	return (((3.0 + (2.0 / (r * r))) - ((3.0 - (2.0 * v)) * ((w * r) / ((1.0 - v) / (0.125 * (w * r)))))) - 4.5);
}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 12.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*7.9

    \[\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 *-commutative7.9

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\color{blue}{\left(\left(3 - 2 \cdot v\right) \cdot 0.125\right)} \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)}{1 - v}\right) - 4.5\]
  6. Applied associate-*l*7.9

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

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

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

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{3 - 2 \cdot v}{\frac{1 - v}{0.125 \cdot \left(\color{blue}{\left(\left(w \cdot r\right) \cdot w\right)} \cdot r\right)}}\right) - 4.5\]
  11. Applied associate-*l*0.4

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

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

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

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{3 - 2 \cdot v}{\frac{1 - v}{0.125 \cdot \left(w \cdot r\right)}} \cdot \left(w \cdot r\right)}\right) - 4.5\]
  15. Using strategy rm
  16. Applied div-inv0.4

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(\left(3 - 2 \cdot v\right) \cdot \frac{1}{\frac{1 - v}{0.125 \cdot \left(w \cdot r\right)}}\right)} \cdot \left(w \cdot r\right)\right) - 4.5\]
  17. Applied associate-*l*0.4

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

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

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

Reproduce

herbie shell --seed 2020078 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  :precision binary64
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))