UniformSampleCone, x

Time bar (total: 4.2s)

analyze292.0ms (7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.1%99.9%0%0%0%0
0%0%0.1%99.9%0%0%0%1
0%0%0.1%99.9%0%0%0%2
0%0%0.1%99.9%0%0%0%3
50%0%0%99.9%0%0%0%4
50%0%0%99.9%0%0%0%5
50%0%0%99.9%0%0%0%6
75%0.1%0%99.9%0%0%0%7
75%0.1%0%99.9%0%0%0%8
75%0.1%0%99.9%0%0%0%9
87.5%0.1%0%99.9%0%0%0%10
87.5%0.1%0%99.9%0%0%0%11
87.5%0.1%0%99.9%0%0%0%12
Compiler

Compiled 51 to 37 computations (27.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 110.0ms
Operation ival-cos, time spent: 31.0ms, 28.0% of total-time
Operation ival-mult, time spent: 28.0ms, 26.0% of total-time
Operation ival-<=, time spent: 15.0ms, 14.0% of total-time
Operation ival-sub, time spent: 12.0ms, 11.0% of total-time
Operation ival-add, time spent: 7.0ms, 6.0% of total-time
Operation ival-sqrt, time spent: 5.0ms, 5.0% of total-time
Operation ival-and, time spent: 4.0ms, 4.0% of total-time
Operation const, time spent: 4.0ms, 4.0% of total-time
Operation ival-pi, time spent: 3.0ms, 3.0% of total-time

sample3.5s (83.4%)

Results
3.0s8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
Operation ival-mult, time spent: 457.0ms, 35.0% of total-time
Operation ival-<=, time spent: 224.0ms, 17.0% of total-time
Operation ival-cos, time spent: 158.0ms, 12.0% of total-time
Operation ival-sub, time spent: 157.0ms, 12.0% of total-time
Operation ival-add, time spent: 98.0ms, 7.0% of total-time
Operation ival-sqrt, time spent: 79.0ms, 6.0% of total-time
Operation const, time spent: 51.0ms, 4.0% of total-time
Operation ival-and, time spent: 49.0ms, 4.0% of total-time
Operation ival-pi, time spent: 42.0ms, 3.0% of total-time
Bogosity

preprocess401.0ms (9.6%)

Algorithm
egg-herbie
Rules
478×neg-sub0
441×distribute-neg-in
412×+-commutative
339×distribute-rgt-in
314×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0721142
12231034
2774973
33607967
47704967
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos)))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))))))))
(*.f32 (cos.f32 (*.f32 (*.f32 ux #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) maxCos) (*.f32 maxCos ux)) (+.f32 (-.f32 #s(literal 1 binary32) maxCos) (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 maxCos #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux uy)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux uy))))))
Outputs
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (-.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (-.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos)))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 #s(literal 1 binary32) (-.f32 ux (*.f32 ux maxCos))) (+.f32 #s(literal 1 binary32) (-.f32 ux (*.f32 ux maxCos)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) (+.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos #s(literal -1 binary32))) (-.f32 (fma.f32 ux maxCos #s(literal -1 binary32)) ux) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (-.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos)))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 #s(literal 1 binary32) (+.f32 ux (*.f32 ux maxCos))) (-.f32 #s(literal 1 binary32) (+.f32 ux (*.f32 ux maxCos)))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux (+.f32 #s(literal 1 binary32) maxCos))) (+.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 #s(literal 1 binary32) maxCos))) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 #s(literal -1 binary32) maxCos))) (+.f32 ux (fma.f32 ux maxCos #s(literal -1 binary32))) #s(literal 1 binary32))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 (neg.f32 ux) maxCos)))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (neg.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) (neg.f32 ux)) (*.f32 ux (neg.f32 maxCos))))))))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 #s(literal 1 binary32) (-.f32 ux (*.f32 ux maxCos))) (+.f32 #s(literal 1 binary32) (-.f32 ux (*.f32 ux maxCos)))))) (neg.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) (+.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))) (neg.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 ux (fma.f32 ux maxCos #s(literal -1 binary32))) (-.f32 (fma.f32 ux maxCos #s(literal -1 binary32)) ux) #s(literal 1 binary32))) (neg.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 (neg.f32 uy) #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)))))))
(*.f32 (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) (neg.f32 uy))))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux maxCos))))))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux))))) (neg.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 uy #s(literal -2 binary32))))))
(*.f32 (sqrt.f32 (fma.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) ux)) (-.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))) (neg.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32))))))
(neg.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))))))))
(*.f32 (neg.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos))) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux (neg.f32 maxCos)))))))
(*.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (-.f32 #s(literal 1 binary32) (+.f32 ux (*.f32 ux maxCos))) (-.f32 #s(literal 1 binary32) (+.f32 ux (*.f32 ux maxCos)))))) (neg.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (-.f32 #s(literal 1 binary32) (*.f32 ux (+.f32 #s(literal 1 binary32) maxCos))) (+.f32 #s(literal -1 binary32) (*.f32 ux (+.f32 #s(literal 1 binary32) maxCos))) #s(literal 1 binary32))) (neg.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32))))))
(*.f32 (sqrt.f32 (fma.f32 (+.f32 #s(literal 1 binary32) (*.f32 ux (-.f32 #s(literal -1 binary32) maxCos))) (+.f32 ux (fma.f32 ux maxCos #s(literal -1 binary32))) #s(literal 1 binary32))) (neg.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32))))))
(*.f32 (cos.f32 (*.f32 (*.f32 ux #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) ux))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos)) (+.f32 (-.f32 #s(literal 1 binary32) uy) (*.f32 uy maxCos))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) ux))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 uy maxCos (-.f32 #s(literal 1 binary32) uy)) (fma.f32 uy maxCos (-.f32 #s(literal 1 binary32) uy))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 (PI.f32) ux))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 uy maxCos #s(literal 1 binary32)) uy) (-.f32 #s(literal -1 binary32) (*.f32 uy (+.f32 maxCos #s(literal -1 binary32)))) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) maxCos) (*.f32 maxCos ux)) (+.f32 (-.f32 #s(literal 1 binary32) maxCos) (*.f32 maxCos ux))))))
(*.f32 (cos.f32 (*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (*.f32 ux maxCos) (-.f32 #s(literal 1 binary32) maxCos)) (+.f32 (*.f32 ux maxCos) (-.f32 #s(literal 1 binary32) maxCos))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 uy (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) maxCos)) (fma.f32 ux maxCos (-.f32 #s(literal 1 binary32) maxCos))))))
(*.f32 (cos.f32 (*.f32 uy (*.f32 #s(literal 2 binary32) (PI.f32)))) (sqrt.f32 (fma.f32 (-.f32 (fma.f32 ux maxCos #s(literal 1 binary32)) maxCos) (+.f32 #s(literal -1 binary32) (*.f32 (-.f32 #s(literal 1 binary32) ux) maxCos)) #s(literal 1 binary32))))
(*.f32 (cos.f32 (*.f32 (*.f32 maxCos #s(literal 2 binary32)) (PI.f32))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux uy)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 ux uy))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) maxCos))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 uy ux)) (+.f32 (-.f32 #s(literal 1 binary32) ux) (*.f32 uy ux))))))
(*.f32 (cos.f32 (*.f32 #s(literal 2 binary32) (*.f32 maxCos (PI.f32)))) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 (fma.f32 uy ux (-.f32 #s(literal 1 binary32) ux)) (fma.f32 uy ux (-.f32 #s(literal 1 binary32) ux))))))
(*.f32 (cos.f32 (*.f32 (PI.f32) (*.f32 #s(literal 2 binary32) maxCos))) (sqrt.f32 (fma.f32 (fma.f32 uy ux (-.f32 #s(literal 1 binary32) ux)) (+.f32 #s(literal -1 binary32) (*.f32 ux (-.f32 #s(literal 1 binary32) uy))) #s(literal 1 binary32))))
Symmetry

(abs uy)

Compiler

Compiled 131 to 71 computations (45.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 89.0ms
Operation ival-mult, time spent: 26.0ms, 29.0% of total-time
Operation ival-sub, time spent: 23.0ms, 26.0% of total-time
Operation ival-add, time spent: 15.0ms, 17.0% of total-time
Operation ival-cos, time spent: 15.0ms, 17.0% of total-time
Operation const, time spent: 4.0ms, 4.0% of total-time
Operation ival-sqrt, time spent: 4.0ms, 4.0% of total-time
Operation ival-pi, time spent: 3.0ms, 3.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...