



Bits error versus a




Bits error versus b




Bits error versus c




Bits error versus d




Bits error versus e
Results
| Original | 0.4 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.4
rmApplied associate-+l+0.3
Taylor expanded around 0 0.3
rmApplied add-log-exp0.3
Applied add-log-exp0.3
Applied sum-log0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019005 +o rules:numerics
(FPCore (a b c d e)
:name "Expression 1, p15"
:pre (<= 1 a 2 b 4 c 8 d 16 e 32)
:herbie-target
(+ (+ d (+ c (+ a b))) e)
(+ (+ (+ (+ e d) c) b) a))
Time bar (total: 12.6s)Debug log
1 calls. Slowest were:
| 147.0ms | (+ (+ (+ (+ e d) c) b) a) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.4b
Found 3 expressions with local error:
| 0.3b | (+ (+ (+ (+ e d) c) b) a) |
| 0.2b | (+ (+ e d) c) |
| 0.2b | (+ (+ (+ e d) c) b) |
3 calls. Slowest were:
| 50.0ms | (+ (+ (+ (+ e d) c) b) a) |
| 12.0ms | (+ (+ (+ e d) c) b) |
| 2.0ms | (+ (+ e d) c) |
3 calls. Slowest were:
| 44.0ms | (+ (+ (+ (+ e d) c) b) a) |
| 29.0ms | (+ (+ (+ e d) c) b) |
| 18.0ms | (+ (+ e d) c) |
17 calls. Slowest were:
| 33.0ms | (* (cbrt (+ (+ (+ e d) c) b)) (cbrt (+ (+ (+ e d) c) b))) |
| 26.0ms | (sqrt (+ (+ (+ e d) c) b)) |
| 7.0ms | (* (cbrt (+ (+ e d) c)) (cbrt (+ (+ e d) c))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0b
Found 2 expressions with local error:
| 0.2b | (+ (+ (+ e d) c) (+ b a)) |
| 0.2b | (+ (+ e d) c) |
2 calls. Slowest were:
| 13.0ms | (+ (+ (+ e d) c) (+ b a)) |
| 2.0ms | (+ (+ e d) c) |
2 calls. Slowest were:
| 37.0ms | (+ (+ (+ e d) c) (+ b a)) |
| 12.0ms | (+ (+ e d) c) |
21 calls. Slowest were:
| 242.0ms | (* (+ (* (+ e d) (+ e d)) (- (* c c) (* (+ e d) c))) (- b a)) |
| 173.0ms | (+ (* (+ (pow (+ e d) 3) (pow c 3)) (+ (* b b) (- (* a a) (* b a)))) (* (+ (* (+ e d) (+ e d)) (- (* c c) (* (+ e d) c))) (+ (pow b 3) (pow a 3)))) |
| 170.0ms | (* (exp (+ (+ e d) c)) (exp (+ b a))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0b
Found 2 expressions with local error:
| 0.2b | (+ (+ e (+ c d)) (+ b a)) |
| 0.2b | (+ e (+ c d)) |
2 calls. Slowest were:
| 5.0ms | (+ (+ e (+ c d)) (+ b a)) |
| 1.0ms | (+ e (+ c d)) |
2 calls. Slowest were:
| 37.0ms | (+ (+ e (+ c d)) (+ b a)) |
| 11.0ms | (+ e (+ c d)) |
18 calls. Slowest were:
| 290.0ms | (* (+ (* e e) (- (* (+ c d) (+ c d)) (* e (+ c d)))) (- b a)) |
| 277.0ms | (* (- e (+ c d)) (- b a)) |
| 207.0ms | (* (- e (+ c d)) (+ (* b b) (- (* a a) (* b a)))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 3.3b | (exp (+ (+ (+ c b) (+ a d)) e)) |
| 0.3b | (+ (+ (+ c b) (+ a d)) e) |
| 0.2b | (+ (+ c b) (+ a d)) |
| 0.0b | (log (exp (+ (+ (+ c b) (+ a d)) e))) |
4 calls. Slowest were:
| 39.0ms | (log (exp (+ (+ (+ c b) (+ a d)) e))) |
| 34.0ms | (exp (+ (+ (+ c b) (+ a d)) e)) |
| 15.0ms | (+ (+ (+ c b) (+ a d)) e) |
4 calls. Slowest were:
| 37.0ms | (+ (+ (+ c b) (+ a d)) e) |
| 37.0ms | (exp (+ (+ (+ c b) (+ a d)) e)) |
| 36.0ms | (log (exp (+ (+ (+ c b) (+ a d)) e))) |
| 20.0ms | (+ (+ c b) (+ a d)) |
40 calls. Slowest were:
| 507.0ms | (+ (* (+ (pow c 3) (pow b 3)) (- a d)) (* (+ (* c c) (- (* b b) (* c b))) (- (* a a) (* d d)))) |
| 480.0ms | (+ (* (- (* c c) (* b b)) (- a d)) (* (- c b) (- (* a a) (* d d)))) |
| 369.0ms | (* (+ (* c c) (- (* b b) (* c b))) (+ (* a a) (- (* d d) (* a d)))) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0b
0% (0.2b remaining)
Error of 0.2b against oracle of 0.0b and baseline of 0.2b