Time bar (total: 19.1s)
1× | search |
Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
---|---|---|---|---|---|---|---|
0% | 0% | 50% | 50% | 0% | 0% | 0% | 0 |
100% | 50% | 0% | 50% | 0% | 0% | 0% | 1 |
Compiled 13 to 10 computations (23.1% saved)
512.0ms | 8 256× | 0 | valid |
ival-pow2
: 114.0ms (40.8% of total)ival-mult
: 51.0ms (18.3% of total)ival-<=
: 47.0ms (16.8% of total)ival-pi
: 37.0ms (13.2% of total)exact
: 14.0ms (5% of total)ival-and
: 12.0ms (4.3% of total)ival-assert
: 4.0ms (1.4% of total)Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
---|---|---|---|---|---|
0 | 0 | - | 0 | - | #s(literal 2 binary64) |
0 | 1 | (1.0180103932860549e-162) | 0 | - | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
0 | 0 | - | 0 | - | (pow.f64 r #s(literal 2 binary64)) |
0 | 0 | - | 0 | - | r |
0 | 0 | - | 0 | - | (PI.f64) |
Operator | Subexpression | Explanation | Count | |
---|---|---|---|---|
*.f64 | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) | n*u | 1 | 0 |
Predicted + | Predicted - | |
---|---|---|
+ | 0 | 0 |
- | 1 | 255 |
Predicted + | Predicted Maybe | Predicted - | |
---|---|---|---|
+ | 0 | 0 | 0 |
- | 1 | 0 | 255 |
number | freq |
---|---|
0 | 255 |
1 | 1 |
Predicted + | Predicted Maybe | Predicted - | |
---|---|---|---|
+ | 0 | 0 | 0 |
- | 1 | 0 | 0 |
23.0ms | 512× | 0 | valid |
Compiled 31 to 19 computations (38.7% saved)
ival-pow2
: 6.0ms (54.3% of total)ival-mult
: 3.0ms (27.1% of total)ival-pi
: 2.0ms (18.1% of total)ival-true
: 0.0ms (0% of total)exact
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 7 | 13 |
1 | 19 | 11 |
2 | 50 | 11 |
3 | 184 | 11 |
4 | 343 | 11 |
5 | 364 | 11 |
6 | 368 | 11 |
0 | 5 | 5 |
0 | 8 | 5 |
1 | 10 | 5 |
2 | 14 | 5 |
3 | 16 | 5 |
0 | 16 | 5 |
1× | iter limit |
1× | saturated |
1× | iter limit |
1× | saturated |
Inputs |
---|
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
Outputs |
---|
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
(*.f64 (*.f64 r r) (PI.f64)) |
Compiled 5 to 5 computations (0% saved)
Compiled 0 to 1 computations (-∞% saved)
Status | Accuracy | Program |
---|---|---|
▶ | 99.8% | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
Compiled 5 to 5 computations (0% saved)
1× | egg-herbie |
Found 3 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (pow.f64 r #s(literal 2 binary64)) | |
cost-diff | 0 | (PI.f64) | |
cost-diff | 0 | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 11 |
0 | 8 | 11 |
1 | 10 | 11 |
2 | 14 | 11 |
3 | 16 | 11 |
0 | 16 | 11 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
(PI.f64) |
(pow.f64 r #s(literal 2 binary64)) |
r |
#s(literal 2 binary64) |
Outputs |
---|
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
(*.f64 (*.f64 r r) (PI.f64)) |
(PI.f64) |
(pow.f64 r #s(literal 2 binary64)) |
(*.f64 r r) |
r |
#s(literal 2 binary64) |
Found 3 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (pow.f64 r #s(literal 2 binary64)) | |
accuracy | 0.0 | (PI.f64) | |
accuracy | 0.1484375 | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
12.0ms | 256× | 0 | valid |
Compiled 13 to 7 computations (46.2% saved)
ival-pow2
: 3.0ms (52.7% of total)ival-pi
: 1.0ms (17.6% of total)ival-mult
: 1.0ms (17.6% of total)ival-true
: 0.0ms (0% of total)exact
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
(PI.f64) |
(pow.f64 r #s(literal 2 binary64)) |
Outputs |
---|
(* (pow r 2) (PI)) |
(pow r 2) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
1.0ms | r | @ | inf | ((* (PI) (pow r 2)) (PI) (pow r 2)) |
1.0ms | r | @ | 0 | ((* (PI) (pow r 2)) (PI) (pow r 2)) |
0.0ms | r | @ | -inf | ((* (PI) (pow r 2)) (PI) (pow r 2)) |
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 8 |
1 | 7 | 8 |
2 | 11 | 8 |
3 | 12 | 8 |
0 | 12 | 8 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(* (pow r 2) (PI)) |
(pow r 2) |
Outputs |
---|
(* (pow r 2) (PI)) |
(*.f64 (*.f64 (PI.f64) r) r) |
(pow r 2) |
(*.f64 r r) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 9 |
0 | 8 | 7 |
1 | 31 | 7 |
2 | 150 | 7 |
3 | 988 | 7 |
4 | 7272 | 7 |
0 | 8313 | 7 |
1× | iter limit |
1× | node limit |
1× | iter limit |
Inputs |
---|
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
(PI.f64) |
(pow.f64 r #s(literal 2 binary64)) |
Outputs |
---|
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r)) |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 r r) |
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64))) |
(*.f64 (PI.f64) (*.f64 r r)) |
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64))) |
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r))) |
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64)) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r)) |
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64)) |
(pow.f64 (*.f64 r r) (PI.f64)) |
(pow.f64 r #s(literal 2 binary64)) |
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64)) |
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r)))))) |
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64))))) |
(/.f64 (*.f64 r r) (PI.f64)) |
(sqrt.f64 (pow.f64 r #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(PI.f64) |
#s(literal 1 binary64) |
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r)) |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 r r) |
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64))) |
(*.f64 (PI.f64) (*.f64 r r)) |
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64))) |
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r))) |
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64)) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r)) |
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64)) |
(pow.f64 (*.f64 r r) (PI.f64)) |
(pow.f64 r #s(literal 2 binary64)) |
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64)) |
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r)))))) |
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64))))) |
(/.f64 (*.f64 r r) (PI.f64)) |
(sqrt.f64 (pow.f64 r #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64))) |
Compiled 256 to 92 computations (64.1% saved)
3 alts after pruning (3 fresh and 0 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 30 | 3 | 33 |
Fresh | 0 | 0 | 0 |
Picked | 1 | 0 | 1 |
Done | 0 | 0 | 0 |
Total | 31 | 3 | 34 |
Status | Accuracy | Program |
---|---|---|
▶ | 99.8% | (*.f64 (*.f64 r r) (PI.f64)) |
▶ | 59.2% | (*.f64 r r) |
▶ | 99.7% | #s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
Compiled 19 to 15 computations (21.1% saved)
1× | egg-herbie |
Found 8 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (PI.f64) | |
cost-diff | 0 | (*.f64 r r) | |
cost-diff | 0 | (*.f64 (*.f64 r r) (PI.f64)) | |
cost-diff | 0 | (*.f64 r r) | |
cost-diff | 0 | (PI.f64) | |
cost-diff | 0 | (*.f64 (PI.f64) r) | |
cost-diff | 0 | (*.f64 (*.f64 (PI.f64) r) r) | |
cost-diff | 0 | #s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 11 | 35 |
0 | 16 | 35 |
1 | 21 | 35 |
0 | 21 | 35 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 (*.f64 (PI.f64) r) r) |
(*.f64 (PI.f64) r) |
(PI.f64) |
r |
(*.f64 r r) |
r |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 r r) |
r |
(PI.f64) |
Outputs |
---|
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 (*.f64 (PI.f64) r) r) |
(*.f64 (PI.f64) r) |
(PI.f64) |
r |
(*.f64 r r) |
r |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 (*.f64 (PI.f64) r) r) |
(*.f64 r r) |
r |
(PI.f64) |
Found 8 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (*.f64 r r) | |
accuracy | 0.0 | (PI.f64) | |
accuracy | 0.1484375 | (*.f64 (*.f64 r r) (PI.f64)) | |
accuracy | 0.0 | (*.f64 r r) | |
accuracy | 0.0 | (PI.f64) | |
accuracy | 0.0 | #s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) | |
accuracy | 0.1484375 | (*.f64 (*.f64 (PI.f64) r) r) | |
accuracy | 0.3125 | (*.f64 (PI.f64) r) |
18.0ms | 256× | 0 | valid |
Compiled 31 to 10 computations (67.7% saved)
ival-mult
: 6.0ms (57.4% of total)ival-pow2
: 3.0ms (28.7% of total)ival-pi
: 1.0ms (9.6% of total)ival-true
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 (*.f64 (PI.f64) r) r) |
(*.f64 (PI.f64) r) |
(PI.f64) |
(*.f64 r r) |
(*.f64 (*.f64 r r) (PI.f64)) |
Outputs |
---|
(* (pow r 2) (PI)) |
(* r (PI)) |
(pow r 2) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
1.0ms | r | @ | -inf | ((* (PI) (pow r 2)) (* (* (PI) r) r) (* (PI) r) (PI) (* r r) (* (* r r) (PI))) |
1.0ms | r | @ | inf | ((* (PI) (pow r 2)) (* (* (PI) r) r) (* (PI) r) (PI) (* r r) (* (* r r) (PI))) |
1.0ms | r | @ | 0 | ((* (PI) (pow r 2)) (* (* (PI) r) r) (* (PI) r) (PI) (* r r) (* (* r r) (PI))) |
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 6 | 11 |
1 | 9 | 11 |
2 | 11 | 11 |
0 | 11 | 11 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(* (pow r 2) (PI)) |
(* r (PI)) |
(pow r 2) |
Outputs |
---|
(* (pow r 2) (PI)) |
(*.f64 (*.f64 r r) (PI.f64)) |
(* r (PI)) |
(*.f64 r (PI.f64)) |
(pow r 2) |
(*.f64 r r) |
Useful iterations: 3 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 11 | 28 |
0 | 16 | 30 |
1 | 42 | 30 |
2 | 166 | 30 |
3 | 1044 | 18 |
4 | 7475 | 18 |
0 | 8021 | 18 |
1× | iter limit |
1× | node limit |
1× | iter limit |
Inputs |
---|
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 (*.f64 (PI.f64) r) r) |
(*.f64 (PI.f64) r) |
(PI.f64) |
(*.f64 r r) |
(*.f64 (*.f64 r r) (PI.f64)) |
Outputs |
---|
#s(approx (* (PI) (pow r 2)) (*.f64 r r)) |
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r)) |
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64))) |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 r r) |
(*.f64 (PI.f64) (*.f64 r r)) |
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64))) |
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) #s(literal 2 binary64)) |
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r)) |
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64)) |
(pow.f64 (*.f64 r r) (PI.f64)) |
(pow.f64 r #s(literal 2 binary64)) |
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r)))))) |
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64))))) |
(/.f64 (*.f64 r r) (PI.f64)) |
(sqrt.f64 (pow.f64 r #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(*.f64 (sqrt.f64 r) (sqrt.f64 r)) |
(*.f64 r (PI.f64)) |
(*.f64 (PI.f64) r) |
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/4 binary64)) |
(pow.f64 (sqrt.f64 r) #s(literal 2 binary64)) |
(pow.f64 (sqrt.f64 (E.f64)) (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 4 binary64)) |
(pow.f64 (*.f64 r r) #s(literal 1/2 binary64)) |
(pow.f64 r (PI.f64)) |
(pow.f64 (E.f64) (log.f64 r)) |
(sqrt.f64 (*.f64 r r)) |
(exp.f64 (log.f64 r)) |
r |
(PI.f64) |
#s(literal 1 binary64) |
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r)) |
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64))) |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 r r) |
(*.f64 (PI.f64) (*.f64 r r)) |
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64))) |
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) #s(literal 2 binary64)) |
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r)) |
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64)) |
(pow.f64 (*.f64 r r) (PI.f64)) |
(pow.f64 r #s(literal 2 binary64)) |
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r)))))) |
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64))))) |
(/.f64 (*.f64 r r) (PI.f64)) |
(sqrt.f64 (pow.f64 r #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r)) |
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64))) |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 r r) |
(*.f64 (PI.f64) (*.f64 r r)) |
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64))) |
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64))) |
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64)) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64))) |
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r))) |
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) #s(literal 2 binary64)) |
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64)) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64)))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64))) |
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r)) |
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64)) |
(pow.f64 (*.f64 r r) (PI.f64)) |
(pow.f64 r #s(literal 2 binary64)) |
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64))) |
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r)))))) |
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64))))) |
(/.f64 (*.f64 r r) (PI.f64)) |
(sqrt.f64 (pow.f64 r #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64))) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64))) |
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64))) |
Compiled 689 to 170 computations (75.3% saved)
3 alts after pruning (0 fresh and 3 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 54 | 0 | 54 |
Fresh | 0 | 0 | 0 |
Picked | 0 | 3 | 3 |
Done | 0 | 0 | 0 |
Total | 54 | 3 | 57 |
Status | Accuracy | Program |
---|---|---|
✓ | 99.8% | (*.f64 (*.f64 r r) (PI.f64)) |
✓ | 59.2% | (*.f64 r r) |
✓ | 99.7% | #s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
Compiled 43 to 29 computations (32.6% saved)
Inputs |
---|
(*.f64 r r) |
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 (*.f64 r r) (PI.f64)) |
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
Outputs |
---|
(*.f64 (*.f64 r r) (PI.f64)) |
3 calls:
2.0ms | r |
1.0ms | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
1.0ms | (pow.f64 r #s(literal 2 binary64)) |
Accuracy | Segments | Branch |
---|---|---|
99.8% | 1 | r |
99.8% | 1 | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
99.8% | 1 | (pow.f64 r #s(literal 2 binary64)) |
Compiled 9 to 9 computations (0% saved)
Inputs |
---|
(*.f64 r r) |
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
Outputs |
---|
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
3 calls:
1.0ms | (pow.f64 r #s(literal 2 binary64)) |
1.0ms | r |
1.0ms | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
Accuracy | Segments | Branch |
---|---|---|
99.7% | 1 | r |
99.7% | 1 | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
99.7% | 1 | (pow.f64 r #s(literal 2 binary64)) |
Compiled 9 to 9 computations (0% saved)
Total 0.0b remaining (0%)
Threshold costs 0b (0%)
Inputs |
---|
(*.f64 r r) |
Outputs |
---|
(*.f64 r r) |
3 calls:
1.0ms | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
1.0ms | r |
1.0ms | (pow.f64 r #s(literal 2 binary64)) |
Accuracy | Segments | Branch |
---|---|---|
59.2% | 1 | r |
59.2% | 1 | (*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64))) |
59.2% | 1 | (pow.f64 r #s(literal 2 binary64)) |
Compiled 9 to 9 computations (0% saved)
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 11 | 19 |
1 | 13 | 19 |
2 | 17 | 19 |
3 | 19 | 19 |
1× | saturated |
Inputs |
---|
(*.f64 (*.f64 r r) (PI.f64)) |
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 r r) |
Outputs |
---|
(*.f64 (*.f64 r r) (PI.f64)) |
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r)) |
(*.f64 r r) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 5 | 9 |
0 | 8 | 7 |
1 | 31 | 7 |
2 | 150 | 7 |
3 | 988 | 7 |
4 | 7272 | 7 |
0 | 8313 | 7 |
0 | 5 | 8 |
1 | 7 | 8 |
2 | 11 | 8 |
3 | 12 | 8 |
0 | 12 | 8 |
1× | done |
1× | iter limit |
1× | saturated |
1× | iter limit |
1× | node limit |
1× | iter limit |
Compiled 24 to 15 computations (37.5% saved)
Compiled 48 to 32 computations (33.3% saved)
Loading profile data...