Time bar (total: 2.1s)
1× | search |
Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
---|---|---|---|---|---|---|---|
0% | 0% | 50.4% | 49.6% | 0% | 0% | 0% | 0 |
100% | 50.4% | 0% | 49.6% | 0% | 0% | 0% | 1 |
Compiled 12 to 9 computations (25% saved)
391.0ms | 8 256× | 0 | valid |
ival-fabs
: 58.0ms (29.6% of total)ival-<=
: 56.0ms (28.6% of total)ival-sub
: 50.0ms (25.5% of total)ival-and
: 14.0ms (7.1% of total)exact
: 14.0ms (7.1% of total)ival-assert
: 4.0ms (2% of total)Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
---|---|---|---|---|---|
0 | 0 | - | 0 | - | (-.f64 (fabs.f64 x) x) |
0 | 0 | - | 0 | - | (fabs.f64 x) |
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 |
17.0ms | 512× | 0 | valid |
Compiled 22 to 13 computations (40.9% saved)
ival-sub
: 3.0ms (46.1% of total)ival-fabs
: 3.0ms (46.1% of total)ival-true
: 1.0ms (15.4% of total)ival-assert
: 0.0ms (0% of total)1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 11 |
1 | 14 | 9 |
2 | 45 | 9 |
3 | 96 | 9 |
4 | 121 | 9 |
5 | 134 | 9 |
6 | 134 | 9 |
0 | 3 | 4 |
0 | 5 | 4 |
1 | 7 | 4 |
2 | 12 | 4 |
3 | 18 | 4 |
4 | 26 | 4 |
5 | 41 | 4 |
6 | 74 | 4 |
7 | 104 | 4 |
8 | 153 | 4 |
9 | 169 | 4 |
10 | 180 | 4 |
0 | 180 | 4 |
1× | iter limit |
1× | saturated |
1× | iter limit |
1× | saturated |
Inputs |
---|
(-.f64 (fabs.f64 x) x) |
Outputs |
---|
(-.f64 (fabs.f64 x) x) |
Compiled 4 to 3 computations (25% saved)
Compiled 0 to 1 computations (-∞% saved)
Status | Accuracy | Program |
---|---|---|
▶ | 100.0% | (-.f64 (fabs.f64 x) x) |
Compiled 4 to 3 computations (25% saved)
1× | egg-herbie |
Found 2 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (fabs.f64 x) | |
cost-diff | 0 | (-.f64 (fabs.f64 x) x) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 3 | 7 |
0 | 5 | 7 |
1 | 7 | 7 |
2 | 12 | 7 |
3 | 18 | 7 |
4 | 26 | 7 |
5 | 41 | 7 |
6 | 74 | 7 |
7 | 104 | 7 |
8 | 153 | 7 |
9 | 169 | 7 |
10 | 180 | 7 |
0 | 180 | 7 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
(-.f64 (fabs.f64 x) x) |
(fabs.f64 x) |
x |
Outputs |
---|
(-.f64 (fabs.f64 x) x) |
(fabs.f64 x) |
x |
Found 2 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (-.f64 (fabs.f64 x) x) | |
accuracy | 0.0 | (fabs.f64 x) |
8.0ms | 256× | 0 | valid |
Compiled 9 to 5 computations (44.4% saved)
ival-fabs
: 2.0ms (64.4% of total)ival-sub
: 1.0ms (32.2% of total)ival-true
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
(-.f64 (fabs.f64 x) x) |
(fabs.f64 x) |
Outputs |
---|
(fabs x) |
(+ (fabs x) (* -1 x)) |
(* -1 x) |
(* x (- (/ (fabs x) x) 1)) |
(* -1 (* x (+ 1 (* -1 (/ (fabs x) x))))) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
0.0ms | x | @ | inf | ((- (fabs x) x) (fabs x)) |
0.0ms | x | @ | -inf | ((- (fabs x) x) (fabs x)) |
0.0ms | x | @ | 0 | ((- (fabs x) x) (fabs x)) |
1× | egg-herbie |
Useful iterations: 1 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 13 | 19 |
1 | 36 | 16 |
2 | 95 | 16 |
3 | 249 | 16 |
4 | 589 | 16 |
5 | 1259 | 16 |
6 | 1819 | 16 |
7 | 2320 | 16 |
8 | 2497 | 16 |
9 | 2601 | 16 |
10 | 2910 | 16 |
11 | 3969 | 16 |
12 | 4621 | 16 |
13 | 5152 | 16 |
14 | 5630 | 16 |
15 | 5823 | 16 |
16 | 6115 | 16 |
17 | 7173 | 16 |
0 | 8321 | 16 |
1× | iter limit |
1× | node limit |
Inputs |
---|
(fabs x) |
(+ (fabs x) (* -1 x)) |
(* -1 x) |
(* x (- (/ (fabs x) x) 1)) |
(* -1 (* x (+ 1 (* -1 (/ (fabs x) x))))) |
Outputs |
---|
(fabs x) |
(fabs.f64 x) |
(+ (fabs x) (* -1 x)) |
(-.f64 (fabs.f64 x) x) |
(* -1 x) |
(neg.f64 x) |
(* x (- (/ (fabs x) x) 1)) |
(-.f64 (fabs.f64 x) x) |
(* -1 (* x (+ 1 (* -1 (/ (fabs x) x))))) |
(-.f64 (fabs.f64 x) x) |
Useful iterations: 2 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 3 | 6 |
0 | 5 | 6 |
1 | 21 | 6 |
2 | 148 | 3 |
0 | 1825 | 3 |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
Inputs |
---|
(-.f64 (fabs.f64 x) x) |
(fabs.f64 x) |
Outputs |
---|
#s(literal 0 binary64) |
(*.f64 #s(literal 1 binary64) (fabs.f64 x)) |
(fabs.f64 (-.f64 x #s(literal 0 binary64))) |
(fabs.f64 (neg.f64 x)) |
(fabs.f64 x) |
Compiled 45 to 18 computations (60% saved)
3 alts after pruning (2 fresh and 1 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 6 | 2 | 8 |
Fresh | 0 | 0 | 0 |
Picked | 0 | 1 | 1 |
Done | 0 | 0 | 0 |
Total | 6 | 3 | 9 |
Status | Accuracy | Program |
---|---|---|
✓ | 100.0% | (-.f64 (fabs.f64 x) x) |
▶ | 11.9% | #s(approx (- (fabs x) x) (neg.f64 x)) |
▶ | 53.2% | #s(literal 0 binary64) |
Compiled 12 to 10 computations (16.7% saved)
1× | egg-herbie |
Found 2 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (neg.f64 x) | |
cost-diff | 0 | #s(approx (- (fabs x) x) (neg.f64 x)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 6 | 11 |
0 | 7 | 11 |
1 | 11 | 11 |
2 | 16 | 11 |
3 | 23 | 11 |
4 | 32 | 11 |
5 | 49 | 11 |
6 | 76 | 11 |
7 | 103 | 11 |
8 | 150 | 11 |
9 | 166 | 11 |
10 | 177 | 11 |
0 | 177 | 11 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
#s(literal 0 binary64) |
#s(approx (- (fabs x) x) (neg.f64 x)) |
(neg.f64 x) |
x |
Outputs |
---|
#s(literal 0 binary64) |
#s(approx (- (fabs x) x) (neg.f64 x)) |
(neg.f64 x) |
x |
Found 2 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (neg.f64 x) | |
accuracy | 56.36687052405122 | #s(approx (- (fabs x) x) (neg.f64 x)) |
11.0ms | 256× | 0 | valid |
Compiled 10 to 7 computations (30% saved)
ival-fabs
: 2.0ms (40% of total)ival-sub
: 1.0ms (20% of total)ival-true
: 1.0ms (20% of total)ival-neg
: 1.0ms (20% of total)exact
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
#s(approx (- (fabs x) x) (neg.f64 x)) |
(neg.f64 x) |
Outputs |
---|
(fabs x) |
(+ (fabs x) (* -1 x)) |
(* -1 x) |
(* x (- (/ (fabs x) x) 1)) |
(* -1 (* x (+ 1 (* -1 (/ (fabs x) x))))) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
0.0ms | x | @ | inf | ((- (fabs x) x) (neg x)) |
0.0ms | x | @ | -inf | ((- (fabs x) x) (neg x)) |
0.0ms | x | @ | 0 | ((- (fabs x) x) (neg x)) |
1× | egg-herbie |
Useful iterations: 1 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 13 | 19 |
1 | 36 | 16 |
2 | 95 | 16 |
3 | 249 | 16 |
4 | 589 | 16 |
5 | 1259 | 16 |
6 | 1819 | 16 |
7 | 2320 | 16 |
8 | 2497 | 16 |
9 | 2601 | 16 |
10 | 2910 | 16 |
11 | 3969 | 16 |
12 | 4621 | 16 |
13 | 5152 | 16 |
14 | 5630 | 16 |
15 | 5823 | 16 |
16 | 6115 | 16 |
17 | 7173 | 16 |
0 | 8321 | 16 |
1× | iter limit |
1× | node limit |
Inputs |
---|
(fabs x) |
(+ (fabs x) (* -1 x)) |
(* -1 x) |
(* x (- (/ (fabs x) x) 1)) |
(* -1 (* x (+ 1 (* -1 (/ (fabs x) x))))) |
Outputs |
---|
(fabs x) |
(fabs.f64 x) |
(+ (fabs x) (* -1 x)) |
(-.f64 (fabs.f64 x) x) |
(* -1 x) |
(neg.f64 x) |
(* x (- (/ (fabs x) x) 1)) |
(-.f64 (fabs.f64 x) x) |
(* -1 (* x (+ 1 (* -1 (/ (fabs x) x))))) |
(-.f64 (fabs.f64 x) x) |
Useful iterations: 2 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 9 |
0 | 6 | 9 |
1 | 25 | 9 |
2 | 166 | 4 |
0 | 2005 | 4 |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
Inputs |
---|
#s(approx (- (fabs x) x) (neg.f64 x)) |
(neg.f64 x) |
Outputs |
---|
#s(approx (- (fabs x) x) x) |
(*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) (*.f64 x x)) |
(*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64))) (pow.f64 x #s(literal 4 binary64))) |
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x x))) |
(*.f64 #s(literal 1 binary64) x) |
(*.f64 #s(literal -1 binary64) x) |
(*.f64 (*.f64 x x) (/.f64 x (*.f64 x x))) |
(*.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) x)) |
(*.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x x) #s(literal -1 binary64))) |
(*.f64 x (/.f64 (*.f64 x x) (*.f64 x x))) |
(*.f64 x #s(literal 1 binary64)) |
(*.f64 x #s(literal -1 binary64)) |
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 0 binary64)) (*.f64 x x)) |
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 0 binary64)) (*.f64 x x)) |
(/.f64 #s(literal 1 binary64) (/.f64 x (*.f64 x x))) |
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x x) (pow.f64 x #s(literal 3 binary64)))) |
(/.f64 (*.f64 x x) x) |
(/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 x x)) |
(neg.f64 x) |
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) (*.f64 x x) #s(literal 0 binary64)) |
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64))) (pow.f64 x #s(literal 4 binary64)) #s(literal 0 binary64)) |
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 x x)) #s(literal 0 binary64)) |
(fma.f64 #s(literal 1 binary64) x #s(literal 0 binary64)) |
(fma.f64 #s(literal -1 binary64) x #s(literal 0 binary64)) |
(fma.f64 (*.f64 x x) (/.f64 x (*.f64 x x)) #s(literal 0 binary64)) |
(fma.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) x) #s(literal 0 binary64)) |
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x x) #s(literal -1 binary64)) #s(literal 0 binary64)) |
(fma.f64 x (/.f64 (*.f64 x x) (*.f64 x x)) #s(literal 0 binary64)) |
(fma.f64 x #s(literal 1 binary64) #s(literal 0 binary64)) |
(fma.f64 x #s(literal -1 binary64) #s(literal 0 binary64)) |
(-.f64 (/.f64 #s(literal 0 binary64) x) x) |
(-.f64 #s(literal 0 binary64) x) |
(-.f64 x #s(literal 0 binary64)) |
(fabs.f64 x) |
(+.f64 #s(literal 0 binary64) x) |
(+.f64 x #s(literal 0 binary64)) |
x |
Compiled 449 to 102 computations (77.3% saved)
3 alts after pruning (0 fresh and 3 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 40 | 0 | 40 |
Fresh | 0 | 0 | 0 |
Picked | 0 | 2 | 2 |
Done | 0 | 1 | 1 |
Total | 40 | 3 | 43 |
Status | Accuracy | Program |
---|---|---|
✓ | 100.0% | (-.f64 (fabs.f64 x) x) |
✓ | 11.9% | #s(approx (- (fabs x) x) (neg.f64 x)) |
✓ | 53.2% | #s(literal 0 binary64) |
Compiled 24 to 18 computations (25% saved)
Inputs |
---|
#s(literal 0 binary64) |
#s(approx (- (fabs x) x) (neg.f64 x)) |
(-.f64 (fabs.f64 x) x) |
Outputs |
---|
(-.f64 (fabs.f64 x) x) |
2 calls:
1.0ms | x |
1.0ms | (-.f64 (fabs.f64 x) x) |
Accuracy | Segments | Branch |
---|---|---|
100.0% | 1 | x |
100.0% | 1 | (-.f64 (fabs.f64 x) x) |
Compiled 5 to 4 computations (20% saved)
Inputs |
---|
#s(literal 0 binary64) |
#s(approx (- (fabs x) x) (neg.f64 x)) |
Outputs |
---|
#s(literal 0 binary64) |
#s(approx (- (fabs x) x) (neg.f64 x)) |
2 calls:
1.0ms | x |
1.0ms | (-.f64 (fabs.f64 x) x) |
Accuracy | Segments | Branch |
---|---|---|
59.7% | 2 | x |
59.7% | 2 | (-.f64 (fabs.f64 x) x) |
Compiled 5 to 4 computations (20% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
Inputs |
---|
#s(literal 0 binary64) |
Outputs |
---|
#s(literal 0 binary64) |
2 calls:
1.0ms | x |
1.0ms | (-.f64 (fabs.f64 x) x) |
Accuracy | Segments | Branch |
---|---|---|
53.2% | 1 | x |
53.2% | 1 | (-.f64 (fabs.f64 x) x) |
Compiled 5 to 4 computations (20% saved)
1× | left-value |
Time | Left | Right |
---|---|---|
0.0ms | 0.0 | 1.721625341822144e-308 |
Compiled 7 to 7 computations (0% saved)
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 10 | 20 |
1 | 17 | 20 |
2 | 27 | 20 |
3 | 48 | 20 |
4 | 96 | 20 |
5 | 194 | 20 |
6 | 268 | 20 |
7 | 440 | 20 |
8 | 500 | 20 |
9 | 702 | 20 |
10 | 876 | 20 |
11 | 1836 | 20 |
12 | 2764 | 20 |
13 | 6737 | 20 |
1× | node limit |
Inputs |
---|
(-.f64 (fabs.f64 x) x) |
(if (<=.f64 (-.f64 (fabs.f64 x) x) #s(literal 0 binary64)) #s(literal 0 binary64) #s(approx (- (fabs x) x) (neg.f64 x))) |
#s(literal 0 binary64) |
Outputs |
---|
(-.f64 (fabs.f64 x) x) |
(if (<=.f64 (-.f64 (fabs.f64 x) x) #s(literal 0 binary64)) #s(literal 0 binary64) #s(approx (- (fabs x) x) (neg.f64 x))) |
#s(literal 0 binary64) |
Useful iterations: 2 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 13 | 19 |
1 | 36 | 16 |
2 | 95 | 16 |
3 | 249 | 16 |
4 | 589 | 16 |
5 | 1259 | 16 |
6 | 1819 | 16 |
7 | 2320 | 16 |
8 | 2497 | 16 |
9 | 2601 | 16 |
10 | 2910 | 16 |
11 | 3969 | 16 |
12 | 4621 | 16 |
13 | 5152 | 16 |
14 | 5630 | 16 |
15 | 5823 | 16 |
16 | 6115 | 16 |
17 | 7173 | 16 |
0 | 8321 | 16 |
0 | 3 | 6 |
0 | 5 | 6 |
1 | 21 | 6 |
2 | 148 | 3 |
0 | 1825 | 3 |
1× | done |
1× | iter limit |
1× | iter limit |
1× | iter limit |
1× | unsound |
1× | iter limit |
1× | iter limit |
1× | node limit |
Compiled 32 to 20 computations (37.5% saved)
Compiled 48 to 26 computations (45.8% saved)
Loading profile data...