
Time bar (total: 4.0s)
| 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 |
| 50% | 50% | 50% | 0.1% | 0% | 0% | 0% | 4 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 5 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 6 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 7 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 8 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 9 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 10 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 11 |
| 75% | 74.9% | 25% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 52 to 34 computations (34.6% saved)
| 51.0ms | 260× | 0 | valid |
ival-sin: 9.0ms (20.1% of total)ival-mult: 8.0ms (17.9% of total)ival-cos: 8.0ms (17.9% of total)ival-div: 7.0ms (15.7% of total)ival-sub: 5.0ms (11.2% of total)ival-sqrt: 4.0ms (9% of total)ival-add: 3.0ms (6.7% of total)exact: 1.0ms (2.2% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)ival-true: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 71 | 17 | (1.5005800579869991e-298 -2.4335863846708634e-237) | 2 | (-1.979208663364348e-162 3.772936981077864e-155) | (-.f64 (cos.f64 x) (cos.f64 y)) |
| 0 | 0 | - | 0 | - | (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) |
| 0 | 0 | - | 0 | - | (sin.f64 y) |
| 0 | 0 | - | 0 | - | #s(literal 3 binary64) |
| 0 | 0 | - | 0 | - | #s(literal 5 binary64) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | (sqrt.f64 #s(literal 5 binary64)) |
| 0 | 0 | - | 0 | - | (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64))) |
| 0 | 0 | - | 0 | - | (/.f64 (sin.f64 y) #s(literal 16 binary64)) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y))) |
| 0 | 0 | - | 0 | - | y |
| 0 | 0 | - | 0 | - | (cos.f64 x) |
| 0 | 0 | - | 0 | - | (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) |
| 0 | 0 | - | 0 | - | (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x)) |
| 0 | 0 | - | 0 | - | (sin.f64 x) |
| 0 | 0 | - | 0 | - | (cos.f64 y) |
| 0 | 0 | - | 0 | - | (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y)))) |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))) |
| 0 | 0 | - | 0 | - | #s(literal 16 binary64) |
| 0 | 0 | - | 0 | - | (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (sqrt.f64 #s(literal 2 binary64)) |
| 0 | 0 | - | 0 | - | (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64))) |
| 0 | 0 | - | 0 | - | (/.f64 (sin.f64 x) #s(literal 16 binary64)) |
| 0 | 0 | - | 0 | - | (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) |
| 0 | 0 | - | 0 | - | (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))))) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y)) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) |
| 0 | 0 | - | 0 | - | x |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
-.f64 | (-.f64 (cos.f64 x) (cos.f64 y)) | cancellation | 14 | 8 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 0 |
| - | 14 | 242 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 14 | 9 | 233 |
| number | freq |
|---|---|
| 0 | 242 |
| 1 | 14 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 0 | 0 |
| - | 1 | 0 | 0 |
| 533.0ms | 2 136× | 0 | valid |
| 361.0ms | 432× | 2 | valid |
| 222.0ms | 504× | 1 | valid |
Compiled 10 236 to 1 560 computations (84.8% saved)
ival-cos: 215.0ms (23.8% of total)adjust: 138.0ms (15.2% of total)ival-mult: 135.0ms (14.9% of total)ival-sin: 121.0ms (13.4% of total)ival-div: 106.0ms (11.7% of total)ival-sub: 80.0ms (8.8% of total)ival-add: 52.0ms (5.7% of total)ival-sqrt: 47.0ms (5.2% of total)exact: 7.0ms (0.8% of total)ival-true: 2.0ms (0.2% of total)ival-assert: 1.0ms (0.1% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 260 |
| 1 | 202 | 254 |
| 2 | 550 | 250 |
| 3 | 2488 | 240 |
| 4 | 5906 | 240 |
| 0 | 32 | 50 |
| 0 | 57 | 50 |
| 1 | 104 | 50 |
| 2 | 227 | 50 |
| 3 | 787 | 48 |
| 4 | 3614 | 46 |
| 0 | 8097 | 43 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))))) |
| Outputs |
|---|
(/.f64 (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))))) |
(/.f64 (fma.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (fma.f64 #s(literal 3/2 binary64) (fma.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) (cos.f64 x) (*.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) (cos.f64 y))) #s(literal 3 binary64))) |
Compiled 50 to 32 computations (36% saved)
Compiled 0 to 2 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 99.3% | (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))))) |
Compiled 100 to 64 computations (36% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 50 |
| 1 | 54 | 50 |
| 2 | 77 | 50 |
| 3 | 96 | 50 |
| 4 | 131 | 50 |
| 5 | 184 | 50 |
| 6 | 189 | 50 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))))) |
| Outputs |
|---|
(/.f64 (+.f64 #s(literal 2 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64)))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 #s(literal 3 binary64) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x))) (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y))))) |
(/.f64 (+.f64 (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) #s(literal 16 binary64))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) #s(literal 16 binary64))) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 2 binary64)) (*.f64 (+.f64 (*.f64 (/.f64 (-.f64 #s(literal 3 binary64) (sqrt.f64 #s(literal 5 binary64))) #s(literal 2 binary64)) (cos.f64 y)) (+.f64 (*.f64 (/.f64 (-.f64 (sqrt.f64 #s(literal 5 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64)) (cos.f64 x)) #s(literal 1 binary64))) #s(literal 3 binary64))) |
| 1× | fuel |
Compiled 50 to 32 computations (36% saved)
Compiled 200 to 128 computations (36% saved)
Loading profile data...