Beckmann Sample, normalization factor

Time bar (total: 2.5s)

analyze44.0ms (1.8%)

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)

sample2.2s (87.1%)

Results
2.2s8256×body256valid
10.0ms58×body256invalid
Bogosity

preprocess278.0ms (11.1%)

Algorithm
egg-herbie
Rules
1470×distribute-lft-neg-in
1276×distribute-rgt-neg-in
1122×associate-*r*
1040×associate-*r/
820×associate-/l*
Problems
248×No Errors
(*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta))
(-.f32 (-.f32 1 cosTheta) cosTheta)
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052687
1142596
2390596
31325564
46237564
Stop Event
node limit
Calls
Call 1
Inputs
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta))))))
(/.f32 1 (+.f32 (+.f32 1 (neg.f32 c)) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(neg.f32 (/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta)))))))
(neg.f32 (/.f32 1 (+.f32 (+.f32 1 (neg.f32 c)) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))))
(/.f32 1 (+.f32 (+.f32 1 cosTheta) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 c) c)) c)) (exp.f32 (*.f32 (neg.f32 c) c)))))
Outputs
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta) (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta)))))))
(/.f32 1 (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 cosTheta -2))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) (+.f32 1 c)))
(/.f32 1 (+.f32 1 (fma.f32 (/.f32 (sqrt.f32 (-.f32 1 (*.f32 cosTheta 2))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) c)))
(/.f32 1 (+.f32 c (fma.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) 1)))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta) (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta)))))))
(/.f32 1 (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 cosTheta -2))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) (+.f32 1 c)))
(/.f32 1 (+.f32 1 (fma.f32 (/.f32 (sqrt.f32 (-.f32 1 (*.f32 cosTheta 2))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) c)))
(/.f32 1 (+.f32 c (fma.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) 1)))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta))))))
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (+.f32 (+.f32 1 cosTheta) cosTheta)) (neg.f32 cosTheta)) (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta)))))))
(/.f32 1 (fma.f32 (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 2 cosTheta))) (neg.f32 cosTheta)) (sqrt.f32 (PI.f32))) (+.f32 1 c)))
(/.f32 1 (+.f32 1 (+.f32 c (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 cosTheta 2))) (*.f32 (sqrt.f32 (PI.f32)) (neg.f32 cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)))))
(/.f32 1 (+.f32 1 (fma.f32 (/.f32 -1 (sqrt.f32 (PI.f32))) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta 2 1)) cosTheta) (exp.f32 (*.f32 cosTheta cosTheta))) c)))
(/.f32 1 (+.f32 (+.f32 1 (neg.f32 c)) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
(/.f32 1 (+.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta) (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta))))) (-.f32 1 c)))
(/.f32 1 (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 cosTheta -2))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) (-.f32 1 c)))
(/.f32 1 (+.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (*.f32 cosTheta 2))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 cosTheta) cosTheta)) (-.f32 1 c)))
(/.f32 1 (+.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (*.f32 (sqrt.f32 (PI.f32)) (exp.f32 (*.f32 cosTheta cosTheta))) cosTheta)) (-.f32 1 c)))
(neg.f32 (/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 (neg.f32 cosTheta)) (neg.f32 cosTheta))) (neg.f32 cosTheta))) (exp.f32 (*.f32 (neg.f32 (neg.f32 cosTheta)) (neg.f32 cosTheta)))))))
(/.f32 -1 (+.f32 (+.f32 1 c) (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (+.f32 (+.f32 1 cosTheta) cosTheta)) (neg.f32 cosTheta)) (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta)))))))
(/.f32 -1 (fma.f32 (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 2 cosTheta))) (neg.f32 cosTheta)) (sqrt.f32 (PI.f32))) (+.f32 1 c)))
(/.f32 -1 (+.f32 1 (+.f32 c (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 cosTheta 2))) (*.f32 (sqrt.f32 (PI.f32)) (neg.f32 cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)))))
(/.f32 -1 (+.f32 1 (fma.f32 (/.f32 -1 (sqrt.f32 (PI.f32))) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta 2 1)) cosTheta) (exp.f32 (*.f32 cosTheta cosTheta))) c)))
(neg.f32 (/.f32 1 (+.f32 (+.f32 1 (neg.f32 c)) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta))))))
(/.f32 -1 (+.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (*.f32 (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta) (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta))))) (-.f32 1 c)))
(/.f32 -1 (fma.f32 (/.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 cosTheta -2))) cosTheta) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 (neg.f32 cosTheta)) cosTheta) (-.f32 1 c)))
(/.f32 -1 (+.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (*.f32 cosTheta 2))) (*.f32 (sqrt.f32 (PI.f32)) cosTheta)) (pow.f32 (exp.f32 cosTheta) cosTheta)) (-.f32 1 c)))
(/.f32 -1 (+.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (*.f32 (sqrt.f32 (PI.f32)) (exp.f32 (*.f32 cosTheta cosTheta))) cosTheta)) (-.f32 1 c)))
(/.f32 1 (+.f32 (+.f32 1 cosTheta) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 c) c)) c)) (exp.f32 (*.f32 (neg.f32 c) c)))))
(/.f32 1 (+.f32 (+.f32 1 cosTheta) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 c) c)) c)) (pow.f32 (exp.f32 (neg.f32 c)) c))))
(/.f32 1 (fma.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (*.f32 2 c))) c) (sqrt.f32 (PI.f32))) (pow.f32 (exp.f32 c) (neg.f32 c)) (+.f32 1 cosTheta)))
(/.f32 1 (fma.f32 (/.f32 (sqrt.f32 (+.f32 1 (*.f32 c -2))) (*.f32 (sqrt.f32 (PI.f32)) c)) (pow.f32 (exp.f32 c) (neg.f32 c)) (+.f32 1 cosTheta)))
(/.f32 1 (+.f32 (+.f32 1 cosTheta) (/.f32 (sqrt.f32 (fma.f32 c -2 1)) (*.f32 (pow.f32 (exp.f32 c) c) (*.f32 c (sqrt.f32 (PI.f32)))))))
Compiler

Compiled 129 to 70 computations (45.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...