
Time bar (total: 1.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 75.2% | 24.8% | 0% | 0% | 0% | 0 |
| 0% | 0% | 75.2% | 24.8% | 0% | 0% | 0% | 1 |
| 0% | 0% | 75.2% | 24.8% | 0% | 0% | 0% | 2 |
| 25% | 18.8% | 56.4% | 24.8% | 0% | 0% | 0% | 3 |
| 25% | 18.8% | 56.4% | 24.8% | 0% | 0% | 0% | 4 |
| 31.3% | 23.5% | 51.7% | 24.8% | 0% | 0% | 0% | 5 |
| 34.4% | 25.8% | 49.3% | 24.8% | 0% | 0% | 0% | 6 |
| 37.5% | 28.2% | 47% | 24.8% | 0% | 0% | 0% | 7 |
| 38.3% | 28.8% | 46.4% | 24.8% | 0% | 0% | 0% | 8 |
| 38.7% | 29.1% | 46.1% | 24.8% | 0% | 0% | 0% | 9 |
| 38.9% | 29.2% | 46% | 24.8% | 0% | 0% | 0% | 10 |
| 38.9% | 29.2% | 46% | 24.8% | 0% | 0% | 0% | 11 |
| 38.9% | 29.2% | 46% | 24.8% | 0% | 0% | 0% | 12 |
Compiled 11 to 7 computations (36.4% saved)
ival-exp: 17.0ms (31.8% of total)ival-sub: 15.0ms (28% of total)ival->: 11.0ms (20.6% of total)ival-div: 7.0ms (13.1% of total)const: 2.0ms (3.7% of total)backward-pass: 1.0ms (1.9% of total)| 1.0s | 5390× | 1 | valid |
| 140.0ms | 2866× | 0 | valid |
ival-exp: 447.0ms (49.9% of total)ival->: 145.0ms (16.2% of total)ival-sub: 135.0ms (15.1% of total)ival-div: 96.0ms (10.7% of total)backward-pass: 60.0ms (6.7% of total)const: 14.0ms (1.6% of total)| 1× | egg-herbie |
| 1206× | fmm-def |
| 743× | div-sub |
| 528× | fma-define |
| 226× | distribute-lft-neg-in |
| 214× | associate-+r- |
Useful iterations: 7 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 104 |
| 1 | 35 | 102 |
| 2 | 56 | 102 |
| 3 | 94 | 102 |
| 4 | 153 | 76 |
| 5 | 292 | 68 |
| 6 | 469 | 68 |
| 7 | 836 | 64 |
| 8 | 2135 | 64 |
| 9 | 3578 | 64 |
| 10 | 4595 | 64 |
| 11 | 5594 | 64 |
| 12 | 6681 | 64 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64))) |
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64))) |
(/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64))) |
(neg.f64 (/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64)))) |
| Outputs |
|---|
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64))) |
(/.f64 (exp.f64 x) (expm1.f64 x)) |
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x))) |
(/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64))) |
(/.f64 (exp.f64 x) (expm1.f64 x)) |
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x))) |
(/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64))) |
(/.f64 (exp.f64 (neg.f64 x)) (expm1.f64 (neg.f64 x))) |
(/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (exp.f64 x))) |
(/.f64 #s(literal 1 binary64) (neg.f64 (expm1.f64 x))) |
(/.f64 #s(literal -1 binary64) (expm1.f64 x)) |
(neg.f64 (/.f64 (exp.f64 (neg.f64 x)) (-.f64 (exp.f64 (neg.f64 x)) #s(literal 1 binary64)))) |
(/.f64 (exp.f64 (neg.f64 x)) (neg.f64 (expm1.f64 (neg.f64 x)))) |
(/.f64 (/.f64 #s(literal -1 binary64) (exp.f64 x)) (expm1.f64 (neg.f64 x))) |
(/.f64 #s(literal -1 binary64) (*.f64 (exp.f64 x) (expm1.f64 (neg.f64 x)))) |
(/.f64 #s(literal 1 binary64) (expm1.f64 x)) |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 173 | 0 | - | 0 | - | (-.f64 (exp.f64 x) #s(literal 1 binary64)) |
| 0 | 0 | - | 0 | - | x |
| 0 | 0 | - | 0 | - | (exp.f64 x) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal 1 binary64))) |
| 52.0ms | 336× | 1 | valid |
| 9.0ms | 176× | 0 | valid |
Compiled 42 to 17 computations (59.5% saved)
ival-exp: 22.0ms (58% of total)ival-div: 5.0ms (13.2% of total)ival-sub: 5.0ms (13.2% of total)backward-pass: 5.0ms (13.2% of total)const: 1.0ms (2.6% of total)Compiled 11 to 8 computations (27.3% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (/.f64 (exp.f64 x) (expm1.f64 x)) |
| ▶ | 100.0% | (/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x))) |
Compiled 12 to 9 computations (25% saved)
| 1× | egg-herbie |
Found 6 expressions of interest:
| New | Metric | Score | Program |
|---|---|---|---|
| ✓ | cost-diff | 0 | (expm1.f64 x) |
| ✓ | cost-diff | 0 | (exp.f64 x) |
| ✓ | cost-diff | 0 | (/.f64 (exp.f64 x) (expm1.f64 x)) |
| ✓ | cost-diff | 0 | (neg.f64 x) |
| ✓ | cost-diff | 0 | (expm1.f64 (neg.f64 x)) |
| ✓ | cost-diff | 0 | (/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x))) |
| 5× | sub-neg |
| 4× | exp-diff |
| 4× | fmm-def |
| 4× | exp-sum |
| 4× | +-commutative |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 84 |
| 1 | 20 | 84 |
| 2 | 33 | 84 |
| 3 | 39 | 84 |
| 4 | 47 | 84 |
| 5 | 54 | 84 |
| 6 | 61 | 84 |
| 7 | 69 | 84 |
| 8 | 77 | 84 |
| 9 | 83 | 84 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x))) |
#s(literal -1 binary64) |
(expm1.f64 (neg.f64 x)) |
(neg.f64 x) |
x |
(/.f64 (exp.f64 x) (expm1.f64 x)) |
(exp.f64 x) |
x |
(expm1.f64 x) |
| Outputs |
|---|
(/.f64 #s(literal -1 binary64) (expm1.f64 (neg.f64 x))) |
#s(literal -1 binary64) |
(expm1.f64 (neg.f64 x)) |
(neg.f64 x) |
x |
(/.f64 (exp.f64 x) (expm1.f64 x)) |
(exp.f64 x) |
x |
(expm1.f64 x) |
| 67.0ms | 139× | 5 | exit |
| 7.0ms | 71× | 0 | valid |
Compiled 24 to 9 computations (62.5% saved)
backward-pass: 32.0ms (66.3% of total)compiled-spec: 6.0ms (12.4% of total)ival-exp: 4.0ms (8.3% of total)ival-div: 2.0ms (4.1% of total)ival-sub: 2.0ms (4.1% of total)const: 1.0ms (2.1% of total)ival-neg: 1.0ms (2.1% of total)backward-pass: 5.0ms (55.3% of total)compiled-spec: 5.0ms (55.3% of total)Loading profile data...