


Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.5
Simplified0.4
rmApplied fma-udef0.4
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2019005 +o rules:numerics
(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))
Time bar (total: 38.0s)Debug log
1 calls. Slowest were:
| 116.0ms | (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 0.7b | (/ 2 (* r r)) |
| 0.4b | (* (* w r) (* w r)) |
| 0.3b | (/ (fma -2 v 3) (/ (- 1 v) 0.125)) |
| 0.1b | (fma (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)) 4.5) |
4 calls. Slowest were:
| 8.0ms | (/ (fma -2 v 3) (/ (- 1 v) 0.125)) |
| 7.0ms | (* (* w r) (* w r)) |
| 3.0ms | (/ 2 (* r r)) |
4 calls. Slowest were:
| 80.0ms | (fma (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)) 4.5) |
| 23.0ms | (/ 2 (* r r)) |
| 20.0ms | (/ (fma -2 v 3) (/ (- 1 v) 0.125)) |
| 19.0ms | (* (* w r) (* w r)) |
50 calls. Slowest were:
| 763.0ms | (/ (* (* (fma -2 v 3) (fma -2 v 3)) (fma -2 v 3)) (* (* (/ (- 1 v) 0.125) (/ (- 1 v) 0.125)) (/ (- 1 v) 0.125))) |
| 594.0ms | (* (* (* (* w r) (* w r)) (* w r)) (* (* (* w r) (* w r)) (* w r))) |
| 551.0ms | (- 0.25 (+ (* 0.125 (/ 1 v)) (* 0.125 (/ 1 (pow v 2))))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.7b | (/ 2 (* r r)) |
| 0.4b | (* (* w r) (* w r)) |
| 0.3b | (/ (fma -2 v 3) (/ (- 1 v) 0.125)) |
| 0.2b | (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r))) |
4 calls. Slowest were:
| 25.0ms | (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r))) |
| 7.0ms | (/ (fma -2 v 3) (/ (- 1 v) 0.125)) |
| 7.0ms | (* (* w r) (* w r)) |
4 calls. Slowest were:
| 54.0ms | (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r))) |
| 20.0ms | (* (* w r) (* w r)) |
| 20.0ms | (/ 2 (* r r)) |
| 15.0ms | (/ (fma -2 v 3) (/ (- 1 v) 0.125)) |
78 calls. Slowest were:
| 607.0ms | (- 0.25 (+ (* 0.125 (/ 1 v)) (* 0.125 (/ 1 (pow v 2))))) |
| 591.0ms | (/ (* (* (fma -2 v 3) (fma -2 v 3)) (fma -2 v 3)) (* (* (/ (- 1 v) 0.125) (/ (- 1 v) 0.125)) (/ (- 1 v) 0.125))) |
| 583.0ms | (* (* (* (* w r) (* w r)) (* w r)) (* (* (* w r) (* w r)) (* w r))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 4.8b | (* (fma -2 v 3) (* (/ 1 (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 0.7b | (/ 2 (* r r)) |
| 0.4b | (* (* w r) (* w r)) |
| 0.2b | (/ 1 (/ (- 1 v) 0.125)) |
4 calls. Slowest were:
| 42.0ms | (* (fma -2 v 3) (* (/ 1 (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 6.0ms | (* (* w r) (* w r)) |
| 2.0ms | (/ 1 (/ (- 1 v) 0.125)) |
4 calls. Slowest were:
| 68.0ms | (* (fma -2 v 3) (* (/ 1 (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 18.0ms | (* (* w r) (* w r)) |
| 17.0ms | (/ 2 (* r r)) |
| 11.0ms | (/ 1 (/ (- 1 v) 0.125)) |
38 calls. Slowest were:
| 1.1s | (* (fma -2 v 3) (* (/ 1 (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 762.0ms | (* (fma -2 v 3) (* (/ 1 (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 666.0ms | (* (fma -2 v 3) (* (/ 1 (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 9.7b | (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 9.7b | (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 0.7b | (/ 2 (* r r)) |
| 0.4b | (* (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r))))) |
4 calls. Slowest were:
| 50.0ms | (* (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r))))) |
| 6.0ms | (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 6.0ms | (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
4 calls. Slowest were:
| 308.0ms | (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 286.0ms | (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) |
| 187.0ms | (* (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r)))) (sqrt (* (/ (fma -2 v 3) (/ (- 1 v) 0.125)) (* (* w r) (* w r))))) |
| 19.0ms | (/ 2 (* r r)) |
39 calls. Slowest were:
| 382.0ms | (* (sqrt (* (fma -2 v 3) (* (* w r) (* w r)))) (sqrt (* (fma -2 v 3) (* (* w r) (* w r))))) |
| 362.0ms | (sqrt (* (fma -2 v 3) (* (* w r) (* w r)))) |
| 352.0ms | (- (* (sqrt 2) (* r (* (sqrt 0.125) w))) (+ (* 1/2 (/ (* r (* (sqrt 0.125) w)) (* (sqrt 2) (pow v 2)))) (+ (* 1/2 (/ (* r (* (sqrt 0.125) w)) (* (sqrt 2) v))) (* 1/8 (/ (* r (* (sqrt 0.125) w)) (* (pow (sqrt 2) 3) (pow v 2))))))) |
11 alts after pruning (9 fresh and 2 done)
Merged error: 0.0b
0% (0.3b remaining)
Error of 0.4b against oracle of 0.2b and baseline of 0.4b