
Time bar (total: 2.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 3% | 97% | 0% | 0% | 0% | 0 |
| 0% | 0% | 3% | 97% | 0% | 0% | 0% | 1 |
| 0% | 0% | 3% | 97% | 0% | 0% | 0% | 2 |
| 0% | 0% | 3% | 97% | 0% | 0% | 0% | 3 |
| 0% | 0% | 3% | 97% | 0% | 0% | 0% | 4 |
| 0% | 0% | 3% | 97% | 0% | 0% | 0% | 5 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 6 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 7 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 8 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 9 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 10 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 11 |
| 0% | 0% | 1.5% | 97% | 0% | 1.5% | 0% | 12 |
Compiled 65 to 44 computations (32.3% saved)
| 43.0ms | 260× | 0 | valid |
| 1.0ms | 6× | 0 | invalid |
const: 9.0ms (25.2% of total)ival-div: 7.0ms (19.6% of total)ival-<=: 5.0ms (14% of total)ival-mult: 4.0ms (11.2% of total)ival-log: 3.0ms (8.4% of total)ival-exp: 2.0ms (5.6% of total)ival-add: 2.0ms (5.6% of total)ival-sub: 2.0ms (5.6% of total)ival-and: 1.0ms (2.8% of total)ival-assert: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 96 | 6 | (1.0976727339138078e-24 -1.0600332520059054e-15 -1.9194551961797404e-39 1.0859751541569487e-21 4.7388717380742376e-17) | 19 | (-5.5103503390501894e-17 7.49920783463017e-30 1.1436086566618542e-7 8.143772461943755e-11 9.255492727788805e-7) | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| 90 | 7 | (0.0380905345082283 4.705652826418598e-17 3.649522588611619e-24 8.0790478965148e-16 4.402126426809647e-32) | 16 | (1.309081366569021e-37 -3.3150220509621614e-18 -5.747910881850076e-36 2.5995092300945544e-7 0.005996674299240112) | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 1 | 0 | - | 1 | (2.583784980285817e-19 4.021977705297032e-38 4.1186772417080297e-13 -2.326013303247074e-20 0.01383194699883461) | (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))) |
| 1 | 0 | - | 0 | - | (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))) |
| 0 | 0 | - | 0 | - | (/.f32 #s(literal 1 binary32) v) |
| 0 | 1 | (-3.1734665420356903e-38 -4.121515083190391e-17 4.6380204353955793e-20 -2.085297120802227e-31 5.086906804687163e-39) | 0 | - | (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary32) |
| 0 | 0 | - | 0 | - | (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))) |
| 0 | 0 | - | 0 | - | sinTheta_i |
| 0 | 0 | - | 0 | - | v |
| 0 | 0 | - | 0 | - | cosTheta_i |
| 0 | 0 | - | 0 | - | (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) |
| 0 | 0 | - | 0 | - | sinTheta_O |
| 0 | 0 | - | 0 | - | (*.f32 #s(literal 2 binary32) v) |
| 0 | 0 | - | 0 | - | (*.f32 sinTheta_i sinTheta_O) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 cosTheta_i cosTheta_O) |
| 0 | 0 | - | 0 | - | #s(literal 6931/10000 binary32) |
| 0 | 0 | - | 0 | - | (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) |
| 0 | 0 | - | 0 | - | (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) |
| 0 | 0 | - | 0 | - | cosTheta_O |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
/.f32 | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) | u/n | 18 | 0 |
| ↳ | (*.f32 cosTheta_i cosTheta_O) | underflow | 132 | |
/.f32 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | u/n | 17 | 0 |
| ↳ | (*.f32 sinTheta_i sinTheta_O) | underflow | 126 | |
/.f32 | (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)) | n/u | 1 | 0 |
| ↳ | (*.f32 #s(literal 2 binary32) v) | underflow | 2 | |
log.f32 | (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))) | oflow-rescue | 1 | 0 |
| ↳ | (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)) | overflow | 1 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 1 | 2 |
| - | 36 | 217 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 1 | 1 |
| - | 36 | 1 | 216 |
| number | freq |
|---|---|
| 0 | 219 |
| 1 | 37 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 395.0ms | 3 072× | 0 | valid |
Compiled 5 112 to 1 032 computations (79.8% saved)
ival-div: 75.0ms (27.6% of total)ival-mult: 52.0ms (19.1% of total)const: 40.0ms (14.7% of total)ival-log: 30.0ms (11% of total)ival-add: 25.0ms (9.2% of total)ival-sub: 23.0ms (8.5% of total)ival-exp: 20.0ms (7.4% of total)exact: 3.0ms (1.1% of total)ival-true: 2.0ms (0.7% of total)ival-assert: 1.0ms (0.4% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 159 | 481 |
| 1 | 462 | 447 |
| 2 | 1368 | 440 |
| 3 | 4990 | 440 |
| 0 | 21 | 25 |
| 0 | 34 | 23 |
| 1 | 63 | 22 |
| 2 | 151 | 22 |
| 3 | 471 | 22 |
| 4 | 1717 | 22 |
| 5 | 5047 | 22 |
| 0 | 8134 | 19 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))) |
| Outputs |
|---|
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))) |
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (fma.f32 (fma.f32 sinTheta_O sinTheta_i #s(literal 1 binary32)) (/.f32 #s(literal -1 binary32) v) (fma.f32 (/.f32 cosTheta_O v) cosTheta_i #s(literal 6931/10000 binary32))))) |
(sort cosTheta_i cosTheta_O)
(sort sinTheta_i sinTheta_O)
Compiled 25 to 21 computations (16% saved)
Compiled 0 to 5 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 99.4% | (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))) |
Compiled 50 to 42 computations (16% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 25 |
| 1 | 33 | 25 |
| 2 | 47 | 25 |
| 3 | 63 | 25 |
| 4 | 77 | 25 |
| 5 | 106 | 25 |
| 6 | 148 | 25 |
| 7 | 152 | 25 |
| 1× | saturated |
| Inputs |
|---|
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))) |
| Outputs |
|---|
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))) |
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O cosTheta_i) v) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)) (/.f32 #s(literal 1 binary32) v))))) |
| 1× | fuel |
Compiled 25 to 21 computations (16% saved)
(sort sinTheta_i sinTheta_O)
(sort cosTheta_i cosTheta_O)
Compiled 300 to 252 computations (16% saved)
Loading profile data...