



Bits error versus x




Bits error versus y




Bits error versus z
| Original | 45.3 |
|---|---|
| Target | 0 |
| Herbie | 8.3 |
Initial program 45.3
rmApplied add-log-exp47.2
Applied add-log-exp47.6
Applied diff-log47.6
Simplified30.9
rmApplied associate-+l-14.9
Taylor expanded around inf 8.3
Final simplification8.3
herbie shell --seed 2019008
(FPCore (x y z)
:name "simple fma test"
:herbie-target
-1
(- (fma x y z) (+ 1 (+ (* x y) z))))
Time bar (total: 10.7s)Debug log
1 calls. Slowest were:
| 308.0ms | (- (fma x y z) (+ 1 (+ (* x y) z))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 42.8b
Found 2 expressions with local error:
| 9.1b | (- (fma x y z) (+ 1 (+ (* x y) z))) |
| 0.0b | (+ (* x y) z) |
2 calls. Slowest were:
| 7.0ms | (- (fma x y z) (+ 1 (+ (* x y) z))) |
| 2.0ms | (+ (* x y) z) |
2 calls. Slowest were:
| 39.0ms | (- (fma x y z) (+ 1 (+ (* x y) z))) |
| 26.0ms | (+ (* x y) z) |
11 calls. Slowest were:
| 308.0ms | (- (fma x y z) (+ z (+ 1 (* x y)))) |
| 289.0ms | (/ (exp (fma x y z)) (exp (+ 1 (+ (* x y) z)))) |
| 250.0ms | (- (fma x y z) (+ z (+ 1 (* x y)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 28.3b
Found 2 expressions with local error:
| 8.7b | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 2.1b | (- (fma x y z) z) |
2 calls. Slowest were:
| 16.0ms | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 5.0ms | (- (fma x y z) z) |
2 calls. Slowest were:
| 41.0ms | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 19.0ms | (- (fma x y z) z) |
18 calls. Slowest were:
| 395.0ms | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 283.0ms | (- (fma x y z) (+ z (+ 1 (* x y)))) |
| 272.0ms | (- (fma x y z) (+ z (+ 1 (* x y)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 13.9b
Found 2 expressions with local error:
| 8.2b | (- (* x y) (- (fma x y z) z)) |
| 2.1b | (- (fma x y z) z) |
2 calls. Slowest were:
| 8.0ms | (- (* x y) (- (fma x y z) z)) |
| 6.0ms | (- (fma x y z) z) |
2 calls. Slowest were:
| 34.0ms | (- (* x y) (- (fma x y z) z)) |
| 22.0ms | (- (fma x y z) z) |
9 calls. Slowest were:
| 90.0ms | (/ (exp (* x y)) (exp (- (fma x y z) z))) |
| 38.0ms | (- (+ z (* x y)) (fma x y z)) |
| 36.0ms | (- (+ z (* x y)) (fma x y z)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 7.4b
Found 2 expressions with local error:
| 7.1b | (- (+ z (* x y)) (fma x y z)) |
| 0.0b | (+ z (* x y)) |
2 calls. Slowest were:
| 8.0ms | (- (+ z (* x y)) (fma x y z)) |
| 1.0ms | (+ z (* x y)) |
2 calls. Slowest were:
| 32.0ms | (- (+ z (* x y)) (fma x y z)) |
| 25.0ms | (+ z (* x y)) |
10 calls. Slowest were:
| 48.0ms | (/ (exp (+ z (* x y))) (exp (fma x y z))) |
| 34.0ms | (- (+ z (* x y)) (fma x y z)) |
| 22.0ms | (- (+ z (* x y)) (fma x y z)) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 7.3b
0% (0.1b remaining)
Error of 8.3b against oracle of 8.2b and baseline of 8.3b