



Bits error versus x




Bits error versus y




Bits error versus z
| Original | 44.9 |
|---|---|
| Target | 0 |
| Herbie | 7.7 |
Initial program 44.9
rmApplied add-log-exp46.8
Applied add-log-exp47.3
Applied diff-log47.3
Simplified30.7
rmApplied associate-+l-14.8
Taylor expanded around inf 7.7
Final simplification7.7
herbie shell --seed 2019002
(FPCore (x y z)
:name "simple fma test"
:herbie-target
-1
(- (fma x y z) (+ 1 (+ (* x y) z))))
Time bar (total: 23.0s)Debug log
1 calls. Slowest were:
| 256.0ms | (- (fma x y z) (+ 1 (+ (* x y) z))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 46.4b
Found 2 expressions with local error:
| 8.8b | (- (fma x y z) (+ 1 (+ (* x y) z))) |
| 0.0b | (+ 1 (+ (* x y) z)) |
2 calls. Slowest were:
| 9.0ms | (+ 1 (+ (* x y) z)) |
| 8.0ms | (- (fma x y z) (+ 1 (+ (* x y) z))) |
2 calls. Slowest were:
| 27.0ms | (- (fma x y z) (+ 1 (+ (* x y) z))) |
| 24.0ms | (+ 1 (+ (* x y) z)) |
11 calls. Slowest were:
| 621.0ms | (/ (exp (fma x y z)) (exp (+ 1 (+ (* x y) z)))) |
| 382.0ms | (- (fma x y z) (+ z (+ 1 (* x y)))) |
| 344.0ms | (- (fma x y z) (+ z (+ 1 (* x y)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 30.4b
Found 4 expressions with local error:
| 8.7b | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 2.5b | (- (fma x y z) z) |
| 0.2b | (log (exp (+ (- -1 (* x y)) (- (fma x y z) z)))) |
| 0.0b | (exp (+ (- -1 (* x y)) (- (fma x y z) z))) |
4 calls. Slowest were:
| 42.0ms | (exp (+ (- -1 (* x y)) (- (fma x y z) z))) |
| 22.0ms | (log (exp (+ (- -1 (* x y)) (- (fma x y z) z)))) |
| 14.0ms | (+ (- -1 (* x y)) (- (fma x y z) z)) |
4 calls. Slowest were:
| 40.0ms | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 35.0ms | (exp (+ (- -1 (* x y)) (- (fma x y z) z))) |
| 24.0ms | (log (exp (+ (- -1 (* x y)) (- (fma x y z) z)))) |
| 13.0ms | (- (fma x y z) z) |
44 calls. Slowest were:
| 577.0ms | (+ (- -1 (* x y)) (- (fma x y z) z)) |
| 535.0ms | (exp (* (cbrt (+ (- -1 (* x y)) (- (fma x y z) z))) (cbrt (+ (- -1 (* x y)) (- (fma x y z) z))))) |
| 534.0ms | (exp (sqrt (+ (- -1 (* x y)) (- (fma x y z) z)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 13.4b
Found 4 expressions with local error:
| 8.6b | (- (* x y) (- (fma x y z) z)) |
| 2.5b | (- (fma x y z) z) |
| 0.2b | (log (exp (- -1 (- (* x y) (- (fma x y z) z))))) |
| 0.0b | (exp (- -1 (- (* x y) (- (fma x y z) z)))) |
4 calls. Slowest were:
| 9.0ms | (- (* x y) (- (fma x y z) z)) |
| 5.0ms | (- (fma x y z) z) |
| 3.0ms | (log (exp (- -1 (- (* x y) (- (fma x y z) z))))) |
4 calls. Slowest were:
| 27.0ms | (- (* x y) (- (fma x y z) z)) |
| 25.0ms | (exp (- -1 (- (* x y) (- (fma x y z) z)))) |
| 23.0ms | (log (exp (- -1 (- (* x y) (- (fma x y z) z))))) |
| 14.0ms | (- (fma x y z) z) |
33 calls. Slowest were:
| 501.0ms | (- -1 (- (* x y) (- (fma x y z) z))) |
| 430.0ms | (cbrt (- -1 (- (* x y) (- (fma x y z) z)))) |
| 414.0ms | (exp (sqrt (- -1 (- (* x y) (- (fma x y z) z))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 6.7b
Found 1 expressions with local error:
| 6.6b | (- (+ z (* x y)) (fma x y z)) |
1 calls. Slowest were:
| 7.0ms | (- (+ z (* x y)) (fma x y z)) |
1 calls. Slowest were:
| 20.0ms | (- (+ z (* x y)) (fma x y z)) |
7 calls. Slowest were:
| 75.0ms | (/ (exp (+ z (* x y))) (exp (fma x y z))) |
| 37.0ms | (- (+ z (* x y)) (fma x y z)) |
| 26.0ms | (- (+ z (* x y)) (fma x y z)) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 6.6b
0% (0.1b remaining)
Error of 7.7b against oracle of 7.6b and baseline of 7.7b