
Time bar (total: 1.6s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 4 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 5 |
| 37.5% | 37.5% | 62.4% | 0.1% | 0% | 0% | 0% | 6 |
| 37.5% | 37.5% | 62.4% | 0.1% | 0% | 0% | 0% | 7 |
| 43.8% | 43.7% | 56.2% | 0.1% | 0% | 0% | 0% | 8 |
| 43.8% | 43.7% | 56.2% | 0.1% | 0% | 0% | 0% | 9 |
| 46.9% | 46.8% | 53.1% | 0.1% | 0% | 0% | 0% | 10 |
| 46.9% | 46.8% | 53.1% | 0.1% | 0% | 0% | 0% | 11 |
| 48.4% | 48.4% | 51.5% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 15 to 11 computations (26.7% saved)
ival-mult: 17.0ms (22% of total)ival-tan: 13.0ms (16.8% of total)ival-div: 12.0ms (15.5% of total)ival-neg: 12.0ms (15.5% of total)ival-add: 11.0ms (14.2% of total)ival-sin: 11.0ms (14.2% of total)const: 2.0ms (2.6% of total)| 995.0ms | 8256× | 256 | valid |
ival-sin: 255.0ms (33.3% of total)ival-tan: 205.0ms (26.8% of total)ival-div: 140.0ms (18.3% of total)ival-mult: 64.0ms (8.4% of total)ival-add: 51.0ms (6.7% of total)ival-neg: 41.0ms (5.4% of total)const: 10.0ms (1.3% of total)| 1× | egg-herbie |
| 233× | fma-define |
| 186× | fma-neg |
| 54× | distribute-lft-neg-in |
| 41× | sub-neg |
| 37× | cancel-sign-sub-inv |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 342 |
| 1 | 94 | 252 |
| 2 | 257 | 252 |
| 3 | 520 | 252 |
| 4 | 812 | 252 |
| 5 | 1028 | 252 |
| 6 | 1154 | 252 |
| 7 | 1284 | 252 |
| 8 | 1294 | 252 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (/.f64 #s(literal 1 binary64) (sin.f64 (neg.f64 B)))) |
(+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(neg.f64 (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (/.f64 #s(literal 1 binary64) (sin.f64 (neg.f64 B))))) |
(neg.f64 (+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B)))) |
(+.f64 (neg.f64 (*.f64 B (/.f64 #s(literal 1 binary64) (tan.f64 x)))) (/.f64 #s(literal 1 binary64) (sin.f64 x))) |
| Outputs |
|---|
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(+.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (tan.f64 B))) |
(-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 x (tan.f64 B))) |
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(+.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (tan.f64 B))) |
(-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 x (tan.f64 B))) |
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (/.f64 #s(literal 1 binary64) (sin.f64 (neg.f64 B)))) |
(+.f64 (*.f64 x (neg.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (tan.f64 B))))) (/.f64 #s(literal 1 binary64) (neg.f64 (sin.f64 B)))) |
(+.f64 (/.f64 #s(literal -1 binary64) (sin.f64 B)) (/.f64 x (tan.f64 B))) |
(+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(+.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (*.f64 (neg.f64 x) (neg.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B))))) |
(+.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 x (tan.f64 B))) |
(neg.f64 (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 (neg.f64 B))))) (/.f64 #s(literal 1 binary64) (sin.f64 (neg.f64 B))))) |
(+.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (tan.f64 B))) |
(-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (/.f64 x (tan.f64 B))) |
(neg.f64 (+.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B)))) |
(neg.f64 (+.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (*.f64 (neg.f64 x) (neg.f64 (/.f64 #s(literal 1 binary64) (tan.f64 B)))))) |
(-.f64 (/.f64 #s(literal -1 binary64) (sin.f64 B)) (/.f64 x (tan.f64 B))) |
(+.f64 (neg.f64 (*.f64 B (/.f64 #s(literal 1 binary64) (tan.f64 x)))) (/.f64 #s(literal 1 binary64) (sin.f64 x))) |
(+.f64 (*.f64 B (neg.f64 (/.f64 #s(literal 1 binary64) (tan.f64 x)))) (/.f64 #s(literal 1 binary64) (sin.f64 x))) |
(-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 x)) (/.f64 B (tan.f64 x))) |
(negabs B)
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | B |
| 0 | 0 | - | 0 | - | x |
| 0 | 0 | - | 0 | - | (sin.f64 B) |
| 0 | 0 | - | 0 | - | (tan.f64 B) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) (tan.f64 B)) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) (sin.f64 B)) |
| 0 | 0 | - | 0 | - | (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
| 0 | 0 | - | 0 | - | (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B))) |
| 71.0ms | 512× | 256 | valid |
Compiled 100 to 32 computations (68% saved)
ival-tan: 14.0ms (31% of total)ival-sin: 12.0ms (26.5% of total)ival-div: 8.0ms (17.7% of total)ival-mult: 5.0ms (11.1% of total)ival-add: 3.0ms (6.6% of total)ival-neg: 2.0ms (4.4% of total)const: 1.0ms (2.2% of total)Compiled 2 to 2 computations (0% saved)
| Status | Accuracy | Program |
|---|---|---|
| 99.7% | (+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
Compiled 28 to 20 computations (28.6% saved)
| 1× | egg-herbie |
| 14× | neg-mul-1 |
| 12× | unsub-neg |
| 6× | distribute-lft-neg-in |
| 6× | distribute-rgt-neg-in |
| 6× | *-commutative |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 46 |
| 1 | 30 | 42 |
| 2 | 44 | 42 |
| 3 | 53 | 42 |
| 4 | 61 | 42 |
| 5 | 81 | 42 |
| 6 | 109 | 42 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
| Outputs |
|---|
(+.f64 (neg.f64 (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(+.f64 (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (tan.f64 B))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
(-.f64 (/.f64 #s(literal 1 binary64) (sin.f64 B)) (*.f64 x (/.f64 #s(literal 1 binary64) (tan.f64 B)))) |
(+.f64 (*.f64 x (/.f64 #s(literal -1 binary64) (tan.f64 B))) (/.f64 #s(literal 1 binary64) (sin.f64 B))) |
| 1× | fuel |
Compiled 13 to 10 computations (23.1% saved)
(negabs B)
Compiled 106 to 80 computations (24.5% saved)
Loading profile data...