Time bar (total: 1.4s)
1× | search |
Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
---|---|---|---|---|---|---|---|
0% | 0% | 25.2% | 74.8% | 0% | 0% | 0% | 0 |
100% | 25.2% | 0% | 74.8% | 0% | 0% | 0% | 1 |
Compiled 13 to 11 computations (15.4% saved)
645.0ms | 8 256× | 0 | valid |
ival-pow
: 232.0ms (56.8% of total)ival-div
: 85.0ms (20.8% of total)ival-<=
: 55.0ms (13.5% of total)exact
: 19.0ms (4.7% of total)ival-and
: 13.0ms (3.2% of total)ival-assert
: 5.0ms (1.2% of total)Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
---|---|---|---|---|---|
0 | 0 | - | 0 | - | (/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
0 | 0 | - | 0 | - | #s(literal 8 binary64) |
0 | 0 | - | 0 | - | #s(literal 9 binary64) |
0 | 0 | - | 0 | - | (pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
0 | 0 | - | 0 | - | x |
Predicted + | Predicted - | |
---|---|---|
+ | 0 | 0 |
- | 0 | 256 |
Predicted + | Predicted Maybe | Predicted - | |
---|---|---|---|
+ | 0 | 0 | 0 |
- | 0 | 0 | 256 |
number | freq |
---|---|
0 | 256 |
Predicted + | Predicted Maybe | Predicted - | |
---|---|---|---|
+ | 0 | 0 | 0 |
- | 0 | 0 | 1 |
30.0ms | 512× | 0 | valid |
Compiled 31 to 19 computations (38.7% saved)
ival-pow
: 12.0ms (68.1% of total)ival-div
: 4.0ms (22.7% of total)ival-true
: 1.0ms (5.7% of total)exact
: 1.0ms (5.7% of total)ival-assert
: 0.0ms (0% of total)1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 8 | 9 |
1 | 14 | 9 |
2 | 18 | 9 |
3 | 21 | 9 |
4 | 25 | 9 |
5 | 32 | 9 |
6 | 39 | 9 |
0 | 5 | 3 |
0 | 8 | 3 |
0 | 8 | 3 |
1× | iter limit |
1× | saturated |
1× | iter limit |
1× | saturated |
Inputs |
---|
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
Outputs |
---|
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
(pow.f64 x #s(literal 9/8 binary64)) |
Compiled 5 to 5 computations (0% saved)
Compiled 0 to 1 computations (-∞% saved)
Status | Accuracy | Program |
---|---|---|
▶ | 100.0% | (pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
Compiled 5 to 5 computations (0% saved)
1× | egg-herbie |
Found 2 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) | |
cost-diff | 2 | (/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 7 |
0 | 8 | 7 |
0 | 8 | 7 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
x |
(/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
#s(literal 9 binary64) |
#s(literal 8 binary64) |
Outputs |
---|
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
(pow.f64 x #s(literal 9/8 binary64)) |
x |
(/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
#s(literal 9/8 binary64) |
#s(literal 9 binary64) |
#s(literal 8 binary64) |
Found 2 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) | |
accuracy | 0.0 | (/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
15.0ms | 256× | 0 | valid |
Compiled 13 to 7 computations (46.2% saved)
ival-pow
: 6.0ms (68% of total)ival-div
: 2.0ms (22.7% of total)ival-true
: 0.0ms (0% of total)exact
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
(/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
Outputs |
---|
(pow (* 1 (pow x 9)) 1/8) |
(exp (* 1/8 (+ (log -1) (* -9 (log (/ -1 x)))))) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
41.0ms | x | @ | 0 | ((/ 9 8) (pow x (/ 9 8))) |
18.0ms | x | @ | -inf | ((/ 9 8) (pow x (/ 9 8))) |
8.0ms | x | @ | inf | ((/ 9 8) (pow x (/ 9 8))) |
1× | egg-herbie |
Useful iterations: 4 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 16 | 17 |
1 | 31 | 17 |
2 | 52 | 14 |
3 | 73 | 14 |
4 | 81 | 13 |
5 | 82 | 13 |
6 | 83 | 13 |
7 | 84 | 13 |
8 | 86 | 13 |
9 | 88 | 13 |
10 | 92 | 13 |
11 | 97 | 13 |
0 | 97 | 13 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(pow (* 1 (pow x 9)) 1/8) |
(exp (* 1/8 (+ (log -1) (* -9 (log (/ -1 x)))))) |
Outputs |
---|
(pow (* 1 (pow x 9)) 1/8) |
(pow.f64 (pow.f64 x #s(literal 9 binary64)) #s(literal 1/8 binary64)) |
(exp (* 1/8 (+ (log -1) (* -9 (log (/ -1 x)))))) |
(pow.f64 (neg.f64 (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -9 binary64))) #s(literal 1/8 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 4 |
0 | 8 | 4 |
1 | 16 | 4 |
2 | 30 | 4 |
3 | 68 | 4 |
4 | 170 | 4 |
0 | 805 | 4 |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
Inputs |
---|
(/.f64 #s(literal 9 binary64) #s(literal 8 binary64)) |
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
Outputs |
---|
#s(literal 9/8 binary64) |
(*.f64 (*.f64 (pow.f64 x #s(literal 63/64 binary64)) (pow.f64 x #s(literal 9/128 binary64))) (pow.f64 x #s(literal 9/128 binary64))) |
(*.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) #s(literal 1 binary64))) |
(*.f64 (pow.f64 (pow.f64 x #s(literal 63/64 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 x #s(literal 9/64 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 (pow.f64 x #s(literal 27/32 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 9/32 binary64))) |
(*.f64 (pow.f64 (pow.f64 x #s(literal 9/64 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 x #s(literal 63/64 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 x #s(literal 45/64 binary64)) (pow.f64 x #s(literal 27/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 63/64 binary64)) (pow.f64 x #s(literal 9/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 27/64 binary64)) (pow.f64 x #s(literal 45/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/128 binary64)) (*.f64 (pow.f64 x #s(literal 9/128 binary64)) (pow.f64 x #s(literal 63/64 binary64)))) |
(*.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64)))) |
(*.f64 (pow.f64 x #s(literal 27/32 binary64)) (pow.f64 x #s(literal 9/32 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (pow.f64 x #s(literal 63/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (pow.f64 (pow.f64 x #s(literal 27/32 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (pow.f64 x #s(literal 27/32 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (pow.f64 x #s(literal 9/16 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 9/16 binary64) (log.f64 x))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 9/8 binary64)) (exp.f64 #s(literal 9/8 binary64))) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 9/16 binary64)) (exp.f64 #s(literal 9/16 binary64))) (log.f64 x)) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x))) |
(pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9/32 binary64)) |
(pow.f64 (pow.f64 x #s(literal 9/64 binary64)) #s(literal 8 binary64)) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 (log.f64 x) #s(literal 1/2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (fma.f64 (log.f64 x) #s(literal 1/2 binary64) (*.f64 (log.f64 x) #s(literal 1/2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1 binary64))) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (log.f64 x)) |
(pow.f64 (pow.f64 x #s(literal 9/32 binary64)) #s(literal 4 binary64)) |
(pow.f64 (*.f64 x x) #s(literal 9/16 binary64)) |
(pow.f64 (pow.f64 x #s(literal 9/16 binary64)) #s(literal 2 binary64)) |
(pow.f64 (pow.f64 x #s(literal 9/8 binary64)) #s(literal 1 binary64)) |
(pow.f64 x #s(literal 9/8 binary64)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal 4 binary64))) #s(literal 9/32 binary64))) |
(exp.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1 binary64))) |
(exp.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
Compiled 296 to 99 computations (66.6% saved)
1 alts after pruning (1 fresh and 0 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 36 | 1 | 37 |
Fresh | 0 | 0 | 0 |
Picked | 1 | 0 | 1 |
Done | 0 | 0 | 0 |
Total | 37 | 1 | 38 |
Status | Accuracy | Program |
---|---|---|
▶ | 100.0% | (pow.f64 x #s(literal 9/8 binary64)) |
Compiled 3 to 3 computations (0% saved)
1× | egg-herbie |
Found 1 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (pow.f64 x #s(literal 9/8 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 3 | 5 |
0 | 4 | 5 |
0 | 4 | 5 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
x |
#s(literal 9/8 binary64) |
Outputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
x |
#s(literal 9/8 binary64) |
Found 1 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (pow.f64 x #s(literal 9/8 binary64)) |
12.0ms | 256× | 0 | valid |
Compiled 7 to 5 computations (28.6% saved)
ival-pow
: 6.0ms (86.6% of total)ival-true
: 0.0ms (0% of total)exact
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
Outputs |
---|
(pow (* 1 (pow x 9)) 1/8) |
(exp (* 1/8 (+ (log -1) (* -9 (log (/ -1 x)))))) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
7.0ms | x | @ | 0 | ((pow x 9/8)) |
7.0ms | x | @ | inf | ((pow x 9/8)) |
7.0ms | x | @ | -inf | ((pow x 9/8)) |
1× | egg-herbie |
Useful iterations: 4 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 16 | 17 |
1 | 31 | 17 |
2 | 52 | 14 |
3 | 73 | 14 |
4 | 81 | 13 |
5 | 82 | 13 |
6 | 83 | 13 |
7 | 84 | 13 |
8 | 86 | 13 |
9 | 88 | 13 |
10 | 92 | 13 |
11 | 97 | 13 |
0 | 97 | 13 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(pow (* 1 (pow x 9)) 1/8) |
(exp (* 1/8 (+ (log -1) (* -9 (log (/ -1 x)))))) |
Outputs |
---|
(pow (* 1 (pow x 9)) 1/8) |
(pow.f64 (pow.f64 x #s(literal 9 binary64)) #s(literal 1/8 binary64)) |
(exp (* 1/8 (+ (log -1) (* -9 (log (/ -1 x)))))) |
(pow.f64 (neg.f64 (pow.f64 (/.f64 #s(literal -1 binary64) x) #s(literal -9 binary64))) #s(literal 1/8 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 3 | 3 |
0 | 4 | 3 |
1 | 12 | 3 |
2 | 26 | 3 |
3 | 64 | 3 |
4 | 166 | 3 |
0 | 800 | 3 |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
Inputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
Outputs |
---|
(*.f64 (*.f64 (pow.f64 x #s(literal 63/64 binary64)) (pow.f64 x #s(literal 9/128 binary64))) (pow.f64 x #s(literal 9/128 binary64))) |
(*.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) #s(literal 1 binary64)) (pow.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) #s(literal 1 binary64))) |
(*.f64 (pow.f64 (pow.f64 x #s(literal 63/64 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 x #s(literal 9/64 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 (pow.f64 x #s(literal 27/32 binary64)) #s(literal 1 binary64)) (pow.f64 x #s(literal 9/32 binary64))) |
(*.f64 (pow.f64 (pow.f64 x #s(literal 9/64 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 x #s(literal 63/64 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 x #s(literal 63/64 binary64)) (pow.f64 x #s(literal 9/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 45/64 binary64)) (pow.f64 x #s(literal 27/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 27/64 binary64)) (pow.f64 x #s(literal 45/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/128 binary64)) (*.f64 (pow.f64 x #s(literal 9/128 binary64)) (pow.f64 x #s(literal 63/64 binary64)))) |
(*.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64)))) |
(*.f64 (pow.f64 x #s(literal 27/32 binary64)) (pow.f64 x #s(literal 9/32 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/64 binary64)) (pow.f64 x #s(literal 63/64 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (pow.f64 (pow.f64 x #s(literal 27/32 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/32 binary64)) (pow.f64 x #s(literal 27/32 binary64))) |
(*.f64 (pow.f64 x #s(literal 9/16 binary64)) (pow.f64 x #s(literal 9/16 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 9/16 binary64) (log.f64 x))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 9/8 binary64)) (exp.f64 #s(literal 9/8 binary64))) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 9/16 binary64)) (exp.f64 #s(literal 9/16 binary64))) (log.f64 x)) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1/2 binary64))) #s(literal 2 binary64)) |
(pow.f64 (exp.f64 #s(literal 9/16 binary64)) (*.f64 #s(literal 2 binary64) (log.f64 x))) |
(pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9/32 binary64)) |
(pow.f64 (pow.f64 x #s(literal 9/64 binary64)) #s(literal 8 binary64)) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 #s(literal 2 binary64) (*.f64 (log.f64 x) #s(literal 1/2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (fma.f64 (log.f64 x) #s(literal 1/2 binary64) (*.f64 (log.f64 x) #s(literal 1/2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (*.f64 (log.f64 x) #s(literal 1 binary64))) |
(pow.f64 (exp.f64 #s(literal 9/8 binary64)) (log.f64 x)) |
(pow.f64 (pow.f64 x #s(literal 9/32 binary64)) #s(literal 4 binary64)) |
(pow.f64 (*.f64 x x) #s(literal 9/16 binary64)) |
(pow.f64 (pow.f64 x #s(literal 9/16 binary64)) #s(literal 2 binary64)) |
(pow.f64 (pow.f64 x #s(literal 9/8 binary64)) #s(literal 1 binary64)) |
(pow.f64 x #s(literal 9/8 binary64)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 x #s(literal 4 binary64))) #s(literal 9/32 binary64))) |
(exp.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1 binary64))) |
(exp.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) |
Compiled 289 to 97 computations (66.4% saved)
1 alts after pruning (0 fresh and 1 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 36 | 0 | 36 |
Fresh | 0 | 0 | 0 |
Picked | 0 | 1 | 1 |
Done | 0 | 0 | 0 |
Total | 36 | 1 | 37 |
Status | Accuracy | Program |
---|---|---|
✓ | 100.0% | (pow.f64 x #s(literal 9/8 binary64)) |
Compiled 11 to 10 computations (9.1% saved)
Total 0.0b remaining (0%)
Threshold costs 0b (0%)
Inputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
(pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
Outputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
2 calls:
1.0ms | (pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
1.0ms | x |
Accuracy | Segments | Branch |
---|---|---|
100.0% | 1 | x |
100.0% | 1 | (pow.f64 x (/.f64 #s(literal 9 binary64) #s(literal 8 binary64))) |
Compiled 6 to 6 computations (0% saved)
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 3 | 3 |
1× | saturated |
Inputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
Outputs |
---|
(pow.f64 x #s(literal 9/8 binary64)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 4 |
0 | 8 | 4 |
1 | 16 | 4 |
2 | 30 | 4 |
3 | 68 | 4 |
4 | 170 | 4 |
0 | 805 | 4 |
1× | done |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
Compiled 11 to 10 computations (9.1% saved)
Compiled 16 to 16 computations (0% saved)
Loading profile data...