Beckmann Sample, normalization factor

Time bar (total: 3.6s)

analyze69.0ms (1.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%12.3%87.7%0%0%0%0
0%0%12.3%87.7%0%0%0%1
50%6.2%6.2%87.7%0%0%0%2
50%6.2%6.2%87.7%0%0%0%3
75%9.2%3.1%87.7%0%0%0%4
75%9.2%3.1%87.7%0%0%0%5
87.5%10.8%1.5%87.7%0%0%0%6
87.5%10.8%1.5%87.7%0%0%0%7
93.8%11.5%0.8%87.7%0%0%0%8
93.8%11.5%0.8%87.7%0%0%0%9
96.9%11.9%0.4%87.7%0%0%0%10
96.9%11.9%0.4%87.7%0%0%0%11
98.4%12.1%0.2%87.7%0%0%0%12
Compiler

Compiled 42 to 32 computations (23.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
Operation ival-add, time spent: 6.0ms, 18.0% of total-time
Operation ival-<, time spent: 6.0ms, 18.0% of total-time
Operation ival-exp, time spent: 5.0ms, 15.0% of total-time
Operation ival-div, time spent: 4.0ms, 12.0% of total-time
Operation ival-mult, time spent: 4.0ms, 12.0% of total-time
Operation ival-sqrt, time spent: 3.0ms, 9.0% of total-time
Operation ival-sub, time spent: 2.0ms, 6.0% of total-time
Operation ival-pi, time spent: 1.0ms, 3.0% of total-time
Operation ival-and, time spent: 1.0ms, 3.0% of total-time
Operation const, time spent: 1.0ms, 3.0% of total-time
Operation ival-neg, time spent: 1.0ms, 3.0% of total-time

sample3.1s (86.3%)

Results
2.6s8255×256valid
14.0ms61×256invalid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 1.4s
Operation ival-div, time spent: 208.0ms, 15.0% of total-time
Operation ival-mult, time spent: 206.0ms, 15.0% of total-time
Operation ival-add, time spent: 185.0ms, 14.0% of total-time
Operation ival-exp, time spent: 162.0ms, 12.0% of total-time
Operation ival-<, time spent: 145.0ms, 11.0% of total-time
Operation ival-sqrt, time spent: 141.0ms, 10.0% of total-time
Operation ival-sub, time spent: 110.0ms, 8.0% of total-time
Operation ival-pi, time spent: 77.0ms, 6.0% of total-time
Operation ival-neg, time spent: 52.0ms, 4.0% of total-time
Operation const, time spent: 41.0ms, 3.0% of total-time
Operation ival-and, time spent: 31.0ms, 2.0% of total-time
Bogosity

preprocess421.0ms (11.8%)

Algorithm
egg-herbie
Rules
620×div-sub
483×distribute-lft-neg-in
369×fma-define
365×distribute-rgt-neg-in
357×sub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052687
1149596
2435592
31471560
44275560
55930560
67669560
Stop Event
node limit
Calls
Call 1
Inputs
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) (neg.f32 c)) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta)))))))
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) (neg.f32 c)) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) cosTheta) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) c) c)) c)) (exp.f32 (*.f32 (neg.f32 c) c)))))
Outputs
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (+.f32 c (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta))))))
(/.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta)) (+.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) c)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal -2 binary32) #s(literal 1 binary32))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) c)))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (+.f32 c (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta))))))
(/.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta)) (+.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) c)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal -2 binary32) #s(literal 1 binary32))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) c)))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (+.f32 (+.f32 #s(literal 1 binary32) cosTheta) cosTheta)) (neg.f32 cosTheta)) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta))))))
(/.f32 #s(literal 1 binary32) (fma.f32 (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta)) (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) cosTheta))) (neg.f32 cosTheta)) (sqrt.f32 (PI.f32))) (+.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal 2 binary32)))) (*.f32 (neg.f32 cosTheta) (sqrt.f32 (PI.f32)))) (pow.f32 (exp.f32 cosTheta) cosTheta))))
(/.f32 #s(literal 1 binary32) (-.f32 (+.f32 #s(literal 1 binary32) c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal 2 binary32) #s(literal 1 binary32))) cosTheta) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (exp.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (-.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal 2 binary32) #s(literal 1 binary32))) (*.f32 (pow.f32 (exp.f32 cosTheta) cosTheta) (*.f32 (sqrt.f32 (PI.f32)) cosTheta))) c)))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) (neg.f32 c)) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 #s(literal 1 binary32) (+.f32 (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta))) (-.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta)) (-.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (-.f32 (fma.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) #s(literal 1 binary32)) c))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (-.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal -2 binary32) #s(literal 1 binary32))) (*.f32 (pow.f32 (exp.f32 cosTheta) cosTheta) (*.f32 (sqrt.f32 (PI.f32)) cosTheta))) c)))
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta)))))))
(/.f32 #s(literal -1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) c) (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (+.f32 (+.f32 #s(literal 1 binary32) cosTheta) cosTheta)) (neg.f32 cosTheta)) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta))))))
(/.f32 #s(literal -1 binary32) (fma.f32 (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta)) (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) cosTheta))) (neg.f32 cosTheta)) (sqrt.f32 (PI.f32))) (+.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (-.f32 (/.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal 2 binary32)))) cosTheta) (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (PI.f32))) (+.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal -1 binary32) (-.f32 (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal 2 binary32) #s(literal 1 binary32))) cosTheta) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (exp.f32 cosTheta) cosTheta))) c)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal -1 binary32) (-.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal 2 binary32) #s(literal 1 binary32))) (*.f32 (pow.f32 (exp.f32 cosTheta) cosTheta) (*.f32 (sqrt.f32 (PI.f32)) cosTheta))) c)))
(neg.f32 (/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) (neg.f32 c)) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))))
(/.f32 #s(literal -1 binary32) (+.f32 (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta)) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta))) (-.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal -1 binary32) (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 cosTheta) (neg.f32 cosTheta)) (-.f32 #s(literal 1 binary32) c)))
(/.f32 #s(literal -1 binary32) (-.f32 (fma.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 cosTheta #s(literal -2 binary32)))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) #s(literal 1 binary32)) c))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal -1 binary32) (-.f32 c (/.f32 (sqrt.f32 (fma.f32 cosTheta #s(literal -2 binary32) #s(literal 1 binary32))) (*.f32 (pow.f32 (exp.f32 cosTheta) cosTheta) (*.f32 (sqrt.f32 (PI.f32)) cosTheta))))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) cosTheta) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) c) c)) c)) (exp.f32 (*.f32 (neg.f32 c) c)))))
(/.f32 #s(literal 1 binary32) (+.f32 (+.f32 #s(literal 1 binary32) cosTheta) (*.f32 (/.f32 (*.f32 #s(literal 1 binary32) (/.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (+.f32 c c))) c)) (sqrt.f32 (PI.f32))) (exp.f32 (neg.f32 (*.f32 c c))))))
(/.f32 #s(literal 1 binary32) (fma.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) c))) c) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 c) (neg.f32 c)) (+.f32 #s(literal 1 binary32) cosTheta)))
(/.f32 #s(literal 1 binary32) (+.f32 cosTheta (+.f32 #s(literal 1 binary32) (/.f32 (/.f32 (sqrt.f32 (+.f32 #s(literal 1 binary32) (*.f32 c #s(literal -2 binary32)))) (pow.f32 (exp.f32 c) c)) (*.f32 (sqrt.f32 (PI.f32)) c)))))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (+.f32 cosTheta (/.f32 (/.f32 (sqrt.f32 (fma.f32 c #s(literal -2 binary32) #s(literal 1 binary32))) (pow.f32 (exp.f32 c) c)) (*.f32 c (sqrt.f32 (PI.f32)))))))
Compiler

Compiled 136 to 73 computations (46.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 97.0ms
Operation ival-div, time spent: 27.0ms, 28.0% of total-time
Operation ival-sub, time spent: 22.0ms, 23.0% of total-time
Operation ival-mult, time spent: 17.0ms, 17.0% of total-time
Operation ival-sqrt, time spent: 14.0ms, 14.0% of total-time
Operation ival-add, time spent: 7.0ms, 7.0% of total-time
Operation ival-exp, time spent: 5.0ms, 5.0% of total-time
Operation const, time spent: 3.0ms, 3.0% of total-time
Operation ival-neg, time spent: 1.0ms, 1.0% of total-time
Operation ival-pi, time spent: 1.0ms, 1.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...