
Time bar (total: 2.9s)
| 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 |
ival-div: 8.0ms (22% of total)const: 8.0ms (22% of total)ival-<=: 5.0ms (13.8% of total)ival-mult: 4.0ms (11% of total)ival-log: 3.0ms (8.3% 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 |
|---|---|---|---|---|---|
| 99 | 6 | (-1.6860979438246536e-38 1.292033369182377e-9 -1.0570391850706073e-7 3.76794107156278e-34 0.007482601795345545) | 37 | (4.5508055383892216e-31 3.6991597285318534e-11 -0.002590285614132881 2.5837392279696773e-32 1.966178720496114e-29) | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| 79 | 6 | (1.716713072104985e-33 -5.1243812777101994e-5 1.1734536173976216e-29 2.3164597265746865e-38 3.353761485408182e-22) | 26 | (4.589453441655557e-29 -1.2818044368978487e-11 2.4611059225927896e-23 3.2181805043641494e-21 1.6489810170276053e-21) | (/.f32 (*.f32 sinTheta_i sinTheta_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 | 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 | - | (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 | 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 | 8 | (-1.6860979438246536e-38 1.292033369182377e-9 -1.0570391850706073e-7 3.76794107156278e-34 0.007482601795345545) | 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 cosTheta_i cosTheta_O) v) | u/n | 10 | 0 |
| ↳ | (*.f32 cosTheta_i cosTheta_O) | underflow | 102 | |
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 | 8 | 5 |
/.f32 | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) | u/n | 7 | 0 |
| ↳ | (*.f32 sinTheta_i sinTheta_O) | underflow | 83 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 1 |
| - | 24 | 231 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 1 | 0 |
| - | 24 | 4 | 227 |
| number | freq |
|---|---|
| 0 | 232 |
| 1 | 23 |
| 2 | 1 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 785.0ms | 6 144× | 0 | valid |
Compiled 5 136 to 1 056 computations (79.4% saved)
ival-div: 152.0ms (28.1% of total)ival-mult: 104.0ms (19.2% of total)const: 79.0ms (14.6% of total)ival-log: 62.0ms (11.5% of total)ival-add: 44.0ms (8.1% of total)ival-sub: 44.0ms (8.1% of total)ival-exp: 42.0ms (7.8% of total)exact: 6.0ms (1.1% of total)ival-true: 5.0ms (0.9% of total)adjust: 2.0ms (0.4% of total)ival-assert: 2.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.6% | (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...