
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)
| 44.0ms | 260× | 0 | valid |
| 1.0ms | 5× | 0 | invalid |
const: 10.0ms (27.4% of total)ival-div: 6.0ms (16.4% of total)ival-<=: 5.0ms (13.7% of total)ival-mult: 4.0ms (11% of total)ival-log: 3.0ms (8.2% of total)ival-exp: 2.0ms (5.5% of total)ival-add: 2.0ms (5.5% of total)ival-sub: 2.0ms (5.5% of total)ival-and: 2.0ms (5.5% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 98 | 14 | (2.164914851938718e-32 -7.226218549759047e-29 0.0012382048880681396 1.0635658041401585e-37 6.640054454761303e-38) | 17 | (-1.487494988294813e-10 2.838171653252175e-8 -5.262123604001002e-33 4.316611821444389e-27 1.1439316437470397e-18) | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 92 | 17 | (-5.863633148331052e-22 6.127387950371774e-19 -7.732310791652708e-9 -9.20257569716379e-31 7.73577757895943e-20) | 18 | (-1.0035430316295058e-20 -8.481488435304059e-38 -1.0955745999738974e-36 -1.0835636884112222e-21 9.999607418099116e-20) | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| 0 | 0 | - | 0 | - | (/.f32 #s(literal 1 binary32) v) |
| 0 | 0 | - | 0 | - | (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary32) |
| 0 | 230 | (-2.722882282687799e-21 -9.93129368465097e-28 -9.184807982501676e-32 -1.2406339289228185e-9 7.450516997388376e-26) | 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 | 220 | (-2.722882282687799e-21 -9.93129368465097e-28 -9.184807982501676e-32 -1.2406339289228185e-9 7.450516997388376e-26) | 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 | - | (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 cosTheta_i cosTheta_O) |
| 0 | 0 | - | 0 | - | #s(literal 6931/10000 binary32) |
| 0 | 41 | (1.2849414781837902e-37 1.4674641057865756e-8 2.503614094639257e-36 1.466102239611189e-11 3.3108813000254367e-13) | 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 | 4 | (7.515275501646101e-5 -6.2148623920788015e-12 -1.0036289905585517e-17 4.0257309431038796e-38 0.02156539261341095) | 0 | - | (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))))) |
| 0 | 0 | - | 0 | - | cosTheta_O |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
+.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)))) | cancellation | 230 | 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)) | cancellation | 220 | 0 |
-.f32 | (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) | cancellation | 20 | 0 |
/.f32 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | u/n | 17 | 0 |
| ↳ | (*.f32 sinTheta_i sinTheta_O) | underflow | 143 | |
/.f32 | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) | u/n | 16 | 0 |
| ↳ | (*.f32 cosTheta_i cosTheta_O) | underflow | 138 | |
exp.f32 | (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))))) | sensitivity | 4 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 2 | 0 |
| - | 233 | 21 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 2 | 0 | 0 |
| - | 233 | 0 | 21 |
| number | freq |
|---|---|
| 0 | 21 |
| 1 | 12 |
| 2 | 180 |
| 3 | 37 |
| 4 | 6 |
| 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.7% of total)ival-mult: 52.0ms (19.2% of total)const: 38.0ms (14% of total)ival-log: 30.0ms (11.1% 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)adjust: 1.0ms (0.4% 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.8% | (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...