
Time bar (total: 3.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 1 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 2 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 3 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 4 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 5 |
| 25% | 0% | 0% | 100% | 0% | 0% | 0% | 6 |
| 25% | 0% | 0% | 100% | 0% | 0% | 0% | 7 |
| 25% | 0% | 0% | 100% | 0% | 0% | 0% | 8 |
| 25% | 0% | 0% | 100% | 0% | 0% | 0% | 9 |
| 25% | 0% | 0% | 100% | 0% | 0% | 0% | 10 |
| 37.5% | 0% | 0% | 100% | 0% | 0% | 0% | 11 |
| 56.2% | 0% | 0% | 100% | 0% | 0% | 0% | 12 |
Compiled 113 to 52 computations (54% saved)
| 45.0ms | 260× | 0 | valid |
ival-mult: 11.0ms (30.2% of total)ival-<=: 7.0ms (19.2% of total)ival-cosu: 4.0ms (11% of total)const: 4.0ms (11% of total)ival-sinu: 3.0ms (8.2% 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)ival-sqrt: 2.0ms (5.5% of total)exact: 1.0ms (2.7% of total)adjust: 0.0ms (0% of total)ival-assert: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 2 | 0 | - | 1 | (7.439547657991939e-19 7.103623426186004e-26 9.20656416168524e-20 0.002096749609336257 0.7583074569702148 8.914924620739839e-8) | (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) |
| 1 | 0 | - | 0 | - | (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) |
| 0 | 0 | - | 0 | - | (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) |
| 0 | 0 | - | 0 | - | (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))) |
| 0 | 0 | - | 0 | - | yi |
| 0 | 0 | - | 0 | - | (PI.f32) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary32) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32)) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) |
| 0 | 1 | (-3.3585573299557266e-38 1.1613318936108656e-21 -221.60305786132813 4.241717761033215e-6 0.003084766212850809 3.1847353910253894e-34) | 0 | - | (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi) |
| 0 | 0 | - | 0 | - | ux |
| 0 | 0 | - | 0 | - | xi |
| 0 | 0 | - | 0 | - | (+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi)) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux)) |
| 0 | 0 | - | 0 | - | uy |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi) |
| 0 | 0 | - | 0 | - | zi |
| 0 | 0 | - | 0 | - | (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary32) |
| 0 | 0 | - | 0 | - | maxCos |
| 0 | 0 | - | 0 | - | (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux)))) |
| 0 | 0 | - | 0 | - | (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) |
| 0 | 0 | - | 0 | - | (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) |
| 0 | 0 | - | 0 | - | (*.f32 uy #s(literal 2 binary32)) |
| 0 | 0 | - | 0 | - | (-.f32 #s(literal 1 binary32) ux) |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
cos.f32 | (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) | cancelation | 1 | 0 |
*.f32 | (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi) | n*u | 1 | 0 |
sin.f32 | (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) | cancelation | 1 | 0 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 0 | 1 |
| - | 3 | 252 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 0 | 1 | 0 |
| - | 3 | 0 | 252 |
| number | freq |
|---|---|
| 0 | 253 |
| 1 | 3 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 449.0ms | 3 072× | 0 | valid |
Compiled 12 576 to 1 272 computations (89.9% saved)
ival-mult: 151.0ms (47.8% of total)ival-cosu: 43.0ms (13.6% of total)ival-sinu: 42.0ms (13.3% of total)ival-sub: 25.0ms (7.9% of total)ival-add: 22.0ms (7% of total)ival-sqrt: 18.0ms (5.7% of total)ival-pi: 9.0ms (2.8% of total)exact: 3.0ms (0.9% of total)ival-true: 2.0ms (0.6% of total)adjust: 1.0ms (0.3% of total)ival-assert: 1.0ms (0.3% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 244 | 1791 |
| 1 | 771 | 1759 |
| 2 | 2733 | 1242 |
| 3 | 7506 | 1242 |
| 0 | 26 | 65 |
| 0 | 44 | 65 |
| 1 | 83 | 65 |
| 2 | 216 | 46 |
| 3 | 781 | 46 |
| 4 | 2648 | 46 |
| 5 | 4666 | 46 |
| 0 | 8297 | 43 |
| 1× | iter limit |
| 1× | node limit |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi)) |
| Outputs |
|---|
(+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi)) |
(fma.f32 (fma.f32 yi (sin.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) uy))) (*.f32 xi (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) uy))))) (sqrt.f32 (fma.f32 (*.f32 (*.f32 (-.f32 ux #s(literal 1 binary32)) ux) ux) (*.f32 (*.f32 maxCos (-.f32 #s(literal 1 binary32) ux)) maxCos) #s(literal 1 binary32))) (*.f32 zi (*.f32 (*.f32 maxCos (-.f32 #s(literal 1 binary32) ux)) ux))) |
Compiled 65 to 26 computations (60% saved)
Compiled 0 to 6 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 98.8% | (+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi)) |
Compiled 130 to 52 computations (60% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 65 |
| 1 | 47 | 65 |
| 2 | 62 | 65 |
| 3 | 76 | 65 |
| 4 | 89 | 65 |
| 5 | 110 | 65 |
| 6 | 144 | 65 |
| 7 | 224 | 65 |
| 8 | 303 | 65 |
| 9 | 337 | 65 |
| 10 | 350 | 65 |
| 11 | 362 | 65 |
| 12 | 367 | 65 |
| 13 | 368 | 65 |
| 1× | saturated |
| Inputs |
|---|
(+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi)) |
| Outputs |
|---|
(+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) xi) (*.f32 (*.f32 (sin.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos) ux) zi)) |
(-.f32 (+.f32 (*.f32 yi (*.f32 (sin.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) uy))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 maxCos (-.f32 #s(literal 1 binary32) ux)) ux) (*.f32 (*.f32 maxCos (-.f32 #s(literal 1 binary32) ux)) ux)))))) (*.f32 xi (*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (*.f32 (*.f32 maxCos (-.f32 #s(literal 1 binary32) ux)) ux) (*.f32 (*.f32 maxCos (-.f32 #s(literal 1 binary32) ux)) ux)))) (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) uy)))))) (*.f32 (*.f32 (*.f32 (-.f32 ux #s(literal 1 binary32)) maxCos) ux) zi)) |
| 1× | fuel |
Compiled 65 to 29 computations (55.4% saved)
Compiled 260 to 110 computations (57.7% saved)
Loading profile data...