UniformSampleCone, z

Time bar (total: 2.4s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.1%99.9%0%0%0%0
100%0.1%0%99.9%0%0%0%1
Compiler

Compiled 33 to 24 computations (27.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-and, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-<=, time spent: 0.0ms, 0.0% of total-time

sample2.2s (91.6%)

Results
2.0s8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 728.0ms
Operation ival-<=, time spent: 457.0ms, 63.0% of total-time
Operation ival-mult, time spent: 71.0ms, 10.0% of total-time
Operation ival-sub, time spent: 70.0ms, 10.0% of total-time
Operation ival-and, time spent: 48.0ms, 7.0% of total-time
Operation ival-add, time spent: 47.0ms, 6.0% of total-time
Operation const, time spent: 35.0ms, 5.0% of total-time
Bogosity

preprocess200.0ms (8.4%)

Algorithm
egg-herbie
Rules
718×fma-define
704×fma-neg
128×sub-neg
124×cancel-sign-sub-inv
103×associate-+l-
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032344
188284
2244267
3702231
41699231
52680231
63151231
73220231
83237231
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos)))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))))
(+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) maxCos) (*.f32 maxCos ux))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux uy))
Outputs
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))
(-.f32 (fma.f32 ux maxCos #s(literal 1 binary32)) ux)
(fma.f32 ux (+.f32 maxCos #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))
(-.f32 (fma.f32 ux maxCos #s(literal 1 binary32)) ux)
(fma.f32 ux (+.f32 maxCos #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos)))
(fma.f32 maxCos (neg.f32 ux) (+.f32 #s(literal 1 binary32) ux))
(+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) maxCos)))
(fma.f32 ux (-.f32 #s(literal 1 binary32) maxCos) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))
(fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))
(-.f32 (fma.f32 ux maxCos #s(literal 1 binary32)) ux)
(fma.f32 ux (+.f32 maxCos #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos)))
(-.f32 #s(literal 1 binary32) (+.f32 ux (*.f32 ux maxCos)))
(-.f32 #s(literal 1 binary32) (*.f32 ux (+.f32 #s(literal 1 binary32) maxCos)))
(fma.f32 ux (-.f32 #s(literal -1 binary32) maxCos) #s(literal 1 binary32))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))))
(-.f32 (*.f32 ux maxCos) (+.f32 #s(literal 1 binary32) ux))
(fma.f32 ux maxCos (-.f32 #s(literal -1 binary32) ux))
(fma.f32 ux (+.f32 maxCos #s(literal -1 binary32)) #s(literal -1 binary32))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)))
(+.f32 #s(literal -1 binary32) (-.f32 ux (*.f32 ux maxCos)))
(+.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) maxCos)))
(fma.f32 ux (-.f32 #s(literal 1 binary32) maxCos) #s(literal -1 binary32))
(neg.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))))
(+.f32 (*.f32 ux maxCos) (+.f32 #s(literal -1 binary32) ux))
(fma.f32 ux maxCos (+.f32 ux #s(literal -1 binary32)))
(fma.f32 ux (+.f32 #s(literal 1 binary32) maxCos) #s(literal -1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos))
(+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 maxCos uy))
(fma.f32 maxCos uy (-.f32 #s(literal 1 binary32) uy))
(-.f32 (fma.f32 maxCos uy #s(literal 1 binary32)) uy)
(fma.f32 uy (+.f32 maxCos #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) maxCos) (*.f32 maxCos ux))
(+.f32 (*.f32 ux maxCos) (-.f32 #s(literal 1 binary32) maxCos))
(fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) maxCos))
(-.f32 (fma.f32 ux maxCos #s(literal 1 binary32)) maxCos)
(fma.f32 maxCos (+.f32 ux #s(literal -1 binary32)) #s(literal 1 binary32))
(+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux uy))
(fma.f32 ux uy (-.f32 #s(literal 1 binary32) ux))
(fma.f32 ux (+.f32 uy #s(literal -1 binary32)) #s(literal 1 binary32))
Symmetry

(abs uy)

Compiler

Compiled 21 to 11 computations (47.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Operation ival-sub, time spent: 4.0ms, 49.0% of total-time
Operation ival-mult, time spent: 2.0ms, 25.0% of total-time
Operation const, time spent: 1.0ms, 12.0% of total-time
Operation ival-add, time spent: 1.0ms, 12.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...