Time bar (total: 40.4s)
1× | search |
Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
---|---|---|---|---|---|---|---|
0% | 0% | 25% | 75% | 0% | 0% | 0% | 0 |
100% | 25% | 0% | 75% | 0% | 0% | 0% | 1 |
Compiled 12 to 8 computations (33.3% saved)
321.0ms | 8 256× | 0 | valid |
ival-sinu
: 103.0ms (60.2% of total)ival-<=
: 43.0ms (25.1% of total)ival-and
: 12.0ms (7% of total)exact
: 11.0ms (6.4% of total)ival-assert
: 3.0ms (1.8% of total)Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
---|---|---|---|---|---|
0 | 0 | - | 0 | - | (sin.f64 (*.f64 (PI.f64) x)) |
0 | 0 | - | 0 | - | (*.f64 (PI.f64) x) |
0 | 0 | - | 0 | - | (PI.f64) |
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 |
71.0ms | 512× | 0 | valid |
Compiled 26 to 16 computations (38.5% saved)
ival-sinu
: 7.0ms (54.2% of total)ival-mult
: 4.0ms (31% of total)ival-pi
: 2.0ms (15.5% of total)ival-true
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 6 | 11 |
1 | 15 | 11 |
2 | 30 | 9 |
3 | 49 | 9 |
4 | 74 | 9 |
5 | 93 | 9 |
6 | 107 | 9 |
7 | 112 | 9 |
8 | 118 | 9 |
9 | 118 | 9 |
0 | 4 | 4 |
0 | 7 | 4 |
1 | 8 | 4 |
0 | 8 | 4 |
1× | iter limit |
1× | saturated |
1× | iter limit |
1× | saturated |
Inputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
Outputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
(sin.f64 (*.f64 x (PI.f64))) |
(negabs x)
Compiled 4 to 4 computations (0% saved)
Compiled 0 to 1 computations (-∞% saved)
Status | Accuracy | Program |
---|---|---|
▶ | 99.7% | (sin.f64 (*.f64 (PI.f64) x)) |
Compiled 4 to 4 computations (0% saved)
1× | egg-herbie |
Found 3 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (PI.f64) | |
cost-diff | 0 | (*.f64 (PI.f64) x) | |
cost-diff | 0 | (sin.f64 (*.f64 (PI.f64) x)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 4 | 9 |
0 | 7 | 9 |
1 | 8 | 9 |
0 | 8 | 9 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
x |
Outputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
(sin.f64 (*.f64 x (PI.f64))) |
(*.f64 (PI.f64) x) |
(*.f64 x (PI.f64)) |
(PI.f64) |
x |
Found 3 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (PI.f64) | |
accuracy | 0.01171875 | (sin.f64 (*.f64 (PI.f64) x)) | |
accuracy | 0.2109375 | (*.f64 (PI.f64) x) |
12.0ms | 256× | 0 | valid |
Compiled 11 to 6 computations (45.5% saved)
ival-sinu
: 3.0ms (51.1% of total)ival-mult
: 2.0ms (34% of total)ival-pi
: 1.0ms (17% of total)ival-true
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
Outputs |
---|
(* x (PI)) |
(* x (+ (PI) (* -1/6 (* (pow x 2) (pow (PI) 3))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* 1/120 (* (pow x 2) (pow (PI) 5))))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (pow (PI) 7))) (* 1/120 (pow (PI) 5)))))))) |
(sin (* x (PI))) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
1.0ms | x | @ | 0 | ((sin (* (PI) x)) (* (PI) x) (PI)) |
0.0ms | x | @ | inf | ((sin (* (PI) x)) (* (PI) x) (PI)) |
0.0ms | x | @ | -inf | ((sin (* (PI) x)) (* (PI) x) (PI)) |
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 35 | 76 |
1 | 97 | 76 |
2 | 315 | 76 |
3 | 872 | 70 |
4 | 1139 | 70 |
5 | 1447 | 70 |
6 | 1682 | 70 |
7 | 1835 | 70 |
8 | 1855 | 70 |
9 | 2610 | 70 |
10 | 2666 | 70 |
11 | 2666 | 70 |
12 | 2666 | 70 |
13 | 2747 | 70 |
14 | 2749 | 70 |
0 | 2749 | 64 |
1× | iter limit |
1× | saturated |
Inputs |
---|
(* x (PI)) |
(* x (+ (PI) (* -1/6 (* (pow x 2) (pow (PI) 3))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* 1/120 (* (pow x 2) (pow (PI) 5))))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (pow (PI) 7))) (* 1/120 (pow (PI) 5)))))))) |
(sin (* x (PI))) |
Outputs |
---|
(* x (PI)) |
(*.f64 (PI.f64) x) |
(* x (+ (PI) (* -1/6 (* (pow x 2) (pow (PI) 3))))) |
(fma.f64 (pow.f64 (*.f64 (PI.f64) x) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 (PI.f64) x)) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* 1/120 (* (pow x 2) (pow (PI) 5))))))) |
(fma.f64 (pow.f64 x #s(literal 5 binary64)) (*.f64 (pow.f64 (PI.f64) #s(literal 5 binary64)) #s(literal 1/120 binary64)) (fma.f64 (pow.f64 (*.f64 (PI.f64) x) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 (PI.f64) x))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (pow (PI) 7))) (* 1/120 (pow (PI) 5)))))))) |
(fma.f64 (pow.f64 x #s(literal 7 binary64)) (*.f64 (pow.f64 (PI.f64) #s(literal 7 binary64)) #s(literal -1/5040 binary64)) (fma.f64 (pow.f64 x #s(literal 5 binary64)) (*.f64 (pow.f64 (PI.f64) #s(literal 5 binary64)) #s(literal 1/120 binary64)) (fma.f64 (pow.f64 (*.f64 (PI.f64) x) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 (PI.f64) x)))) |
(sin (* x (PI))) |
(sin.f64 (*.f64 (PI.f64) x)) |
Useful iterations: 3 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 4 | 8 |
0 | 7 | 8 |
1 | 23 | 8 |
2 | 121 | 8 |
3 | 813 | 4 |
4 | 6011 | 4 |
5 | 6078 | 4 |
6 | 6364 | 4 |
7 | 7727 | 4 |
0 | 8056 | 4 |
1× | iter limit |
1× | node limit |
1× | iter limit |
Inputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
Outputs |
---|
(sin.f64 x) |
(*.f64 x (PI.f64)) |
(*.f64 (PI.f64) x) |
x |
(PI.f64) |
#s(literal 1 binary64) |
Compiled 109 to 34 computations (68.8% saved)
3 alts after pruning (2 fresh and 1 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 9 | 2 | 11 |
Fresh | 0 | 0 | 0 |
Picked | 0 | 1 | 1 |
Done | 0 | 0 | 0 |
Total | 9 | 3 | 12 |
Status | Accuracy | Program |
---|---|---|
✓ | 99.7% | (sin.f64 (*.f64 (PI.f64) x)) |
▶ | 17.6% | (sin.f64 x) |
▶ | 98.0% | #s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
Compiled 14 to 13 computations (7.1% saved)
1× | egg-herbie |
Found 4 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
cost-diff | 0 | (sin.f64 x) | |
cost-diff | 0 | (PI.f64) | |
cost-diff | 0 | (*.f64 (PI.f64) x) | |
cost-diff | 0 | #s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 8 | 16 |
0 | 11 | 16 |
1 | 12 | 16 |
0 | 12 | 16 |
1× | iter limit |
1× | saturated |
1× | iter limit |
Inputs |
---|
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
x |
(sin.f64 x) |
x |
Outputs |
---|
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
x |
(sin.f64 x) |
x |
Found 4 expressions of interest:
New | Metric | Score | Program |
---|---|---|---|
accuracy | 0.0 | (sin.f64 x) | |
accuracy | 0.0 | (PI.f64) | |
accuracy | 0.2109375 | (*.f64 (PI.f64) x) | |
accuracy | 1.0601052760903882 | #s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
14.0ms | 256× | 0 | valid |
Compiled 14 to 7 computations (50% saved)
ival-sinu
: 3.0ms (38.5% of total)ival-mult
: 2.0ms (25.7% of total)ival-sin
: 2.0ms (25.7% of total)ival-pi
: 1.0ms (12.8% of total)ival-true
: 0.0ms (0% of total)ival-assert
: 0.0ms (0% of total)Inputs |
---|
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
(sin.f64 x) |
Outputs |
---|
(* x (PI)) |
(* x (+ (PI) (* -1/6 (* (pow x 2) (pow (PI) 3))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* 1/120 (* (pow x 2) (pow (PI) 5))))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (pow (PI) 7))) (* 1/120 (pow (PI) 5)))))))) |
x |
(* x (+ 1 (* -1/6 (pow x 2)))) |
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))) |
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))) |
(sin (* x (PI))) |
(sin x) |
3 calls:
Time | Variable | Point | Expression | |
---|---|---|---|---|
0.0ms | x | @ | 0 | ((sin (* (PI) x)) (* (PI) x) (PI) (sin x)) |
0.0ms | x | @ | -inf | ((sin (* (PI) x)) (* (PI) x) (PI) (sin x)) |
0.0ms | x | @ | inf | ((sin (* (PI) x)) (* (PI) x) (PI) (sin x)) |
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 53 | 124 |
1 | 149 | 124 |
2 | 423 | 118 |
3 | 1352 | 112 |
4 | 2096 | 112 |
5 | 3160 | 112 |
6 | 3853 | 112 |
7 | 4093 | 112 |
8 | 4368 | 112 |
9 | 6359 | 112 |
0 | 8224 | 100 |
1× | iter limit |
1× | node limit |
Inputs |
---|
(* x (PI)) |
(* x (+ (PI) (* -1/6 (* (pow x 2) (pow (PI) 3))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* 1/120 (* (pow x 2) (pow (PI) 5))))))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (pow (PI) 7))) (* 1/120 (pow (PI) 5)))))))) |
x |
(* x (+ 1 (* -1/6 (pow x 2)))) |
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))) |
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))) |
(sin (* x (PI))) |
(sin x) |
Outputs |
---|
(* x (PI)) |
(*.f64 x (PI.f64)) |
(* x (+ (PI) (* -1/6 (* (pow x 2) (pow (PI) 3))))) |
(fma.f64 (pow.f64 (*.f64 x (PI.f64)) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 x (PI.f64))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* 1/120 (* (pow x 2) (pow (PI) 5))))))) |
(fma.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (pow.f64 (PI.f64) #s(literal 5 binary64)) #s(literal 1/120 binary64)) (PI.f64)) x (*.f64 (pow.f64 (*.f64 x (PI.f64)) #s(literal 3 binary64)) #s(literal -1/6 binary64))) |
(* x (+ (PI) (* (pow x 2) (+ (* -1/6 (pow (PI) 3)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (pow (PI) 7))) (* 1/120 (pow (PI) 5)))))))) |
(fma.f64 (pow.f64 x #s(literal 5 binary64)) (fma.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) #s(literal 7 binary64)) #s(literal -1/5040 binary64)) x) x (*.f64 (pow.f64 (PI.f64) #s(literal 5 binary64)) #s(literal 1/120 binary64))) (fma.f64 (pow.f64 (*.f64 x (PI.f64)) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 x (PI.f64)))) |
x |
(* x (+ 1 (* -1/6 (pow x 2)))) |
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/6 binary64) x) |
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6)))) |
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64)) x) |
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6)))) |
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal -1/6 binary64)) x) |
(sin (* x (PI))) |
(sin.f64 (*.f64 x (PI.f64))) |
(sin x) |
(sin.f64 x) |
Useful iterations: 3 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 8 | 14 |
0 | 11 | 14 |
1 | 27 | 14 |
2 | 125 | 14 |
3 | 806 | 8 |
4 | 5980 | 8 |
5 | 6047 | 8 |
6 | 6336 | 8 |
7 | 7702 | 8 |
0 | 8419 | 8 |
1× | iter limit |
1× | node limit |
1× | iter limit |
Inputs |
---|
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
(*.f64 (PI.f64) x) |
(PI.f64) |
(sin.f64 x) |
Outputs |
---|
#s(approx (sin (* (PI) x)) x) |
(*.f64 x (PI.f64)) |
(*.f64 (PI.f64) x) |
x |
(PI.f64) |
#s(literal 1 binary64) |
(sin.f64 x) |
Compiled 182 to 53 computations (70.9% saved)
5 alts after pruning (2 fresh and 3 done)
Pruned | Kept | Total | |
---|---|---|---|
New | 14 | 2 | 16 |
Fresh | 0 | 0 | 0 |
Picked | 0 | 2 | 2 |
Done | 0 | 1 | 1 |
Total | 14 | 5 | 19 |
Status | Accuracy | Program |
---|---|---|
✓ | 99.7% | (sin.f64 (*.f64 (PI.f64) x)) |
✓ | 17.6% | (sin.f64 x) |
99.2% | #s(approx (sin (* (PI) x)) (fma.f64 (pow.f64 x #s(literal 5 binary64)) (fma.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) #s(literal 7 binary64)) #s(literal -1/5040 binary64)) x) x (*.f64 (pow.f64 (PI.f64) #s(literal 5 binary64)) #s(literal 1/120 binary64))) (fma.f64 (pow.f64 (*.f64 x (PI.f64)) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 x (PI.f64))))) | |
✓ | 98.0% | #s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
17.6% | #s(approx (sin (* (PI) x)) x) |
Compiled 106 to 69 computations (34.9% saved)
Inputs |
---|
#s(approx (sin (* (PI) x)) x) |
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
(sin.f64 x) |
(sin.f64 (*.f64 (PI.f64) x)) |
#s(approx (sin (* (PI) x)) (fma.f64 (pow.f64 x #s(literal 5 binary64)) (fma.f64 (*.f64 (*.f64 (pow.f64 (PI.f64) #s(literal 7 binary64)) #s(literal -1/5040 binary64)) x) x (*.f64 (pow.f64 (PI.f64) #s(literal 5 binary64)) #s(literal 1/120 binary64))) (fma.f64 (pow.f64 (*.f64 x (PI.f64)) #s(literal 3 binary64)) #s(literal -1/6 binary64) (*.f64 x (PI.f64))))) |
Outputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
3 calls:
2.0ms | (*.f64 (PI.f64) x) |
2.0ms | (sin.f64 (*.f64 (PI.f64) x)) |
2.0ms | x |
Accuracy | Segments | Branch |
---|---|---|
99.7% | 1 | x |
99.7% | 1 | (sin.f64 (*.f64 (PI.f64) x)) |
99.7% | 1 | (*.f64 (PI.f64) x) |
Compiled 8 to 8 computations (0% saved)
Inputs |
---|
#s(approx (sin (* (PI) x)) x) |
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
(sin.f64 x) |
Outputs |
---|
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
3 calls:
1.0ms | (sin.f64 (*.f64 (PI.f64) x)) |
1.0ms | (*.f64 (PI.f64) x) |
1.0ms | x |
Accuracy | Segments | Branch |
---|---|---|
98.0% | 1 | x |
98.0% | 1 | (sin.f64 (*.f64 (PI.f64) x)) |
98.0% | 1 | (*.f64 (PI.f64) x) |
Compiled 8 to 8 computations (0% saved)
Total 0.0b remaining (0%)
Threshold costs 0b (0%)
Inputs |
---|
#s(approx (sin (* (PI) x)) x) |
Outputs |
---|
#s(approx (sin (* (PI) x)) x) |
3 calls:
1.0ms | (sin.f64 (*.f64 (PI.f64) x)) |
1.0ms | (*.f64 (PI.f64) x) |
1.0ms | x |
Accuracy | Segments | Branch |
---|---|---|
17.6% | 1 | x |
17.6% | 1 | (*.f64 (PI.f64) x) |
17.6% | 1 | (sin.f64 (*.f64 (PI.f64) x)) |
Compiled 8 to 8 computations (0% saved)
1× | egg-herbie |
Useful iterations: 0 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 9 | 18 |
1 | 10 | 18 |
1× | saturated |
Inputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
#s(approx (sin (* (PI) x)) x) |
Outputs |
---|
(sin.f64 (*.f64 (PI.f64) x)) |
#s(approx (sin (* (PI) x)) (*.f64 (PI.f64) x)) |
#s(approx (sin (* (PI) x)) x) |
Useful iterations: 3 (0.0ms)
Iter | Nodes | Cost |
---|---|---|
0 | 35 | 76 |
1 | 97 | 76 |
2 | 315 | 76 |
3 | 872 | 70 |
4 | 1139 | 70 |
5 | 1447 | 70 |
6 | 1682 | 70 |
7 | 1835 | 70 |
8 | 1855 | 70 |
9 | 2610 | 70 |
10 | 2666 | 70 |
11 | 2666 | 70 |
12 | 2666 | 70 |
13 | 2747 | 70 |
14 | 2749 | 70 |
0 | 2749 | 64 |
0 | 8 | 14 |
0 | 11 | 14 |
1 | 27 | 14 |
2 | 125 | 14 |
3 | 806 | 8 |
4 | 5980 | 8 |
5 | 6047 | 8 |
6 | 6336 | 8 |
7 | 7702 | 8 |
0 | 8419 | 8 |
1× | fuel |
1× | iter limit |
1× | node limit |
1× | iter limit |
1× | iter limit |
1× | saturated |
Compiled 24 to 15 computations (37.5% saved)
(negabs x)
Compiled 60 to 42 computations (30% saved)
Loading profile data...