Beckmann Distribution sample, tan2theta, alphax != alphay, u1 <= 0.5

Time bar (total: 3.4s)

analyze707.0ms (20.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
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
25%0%0%100%0%0%0%5
37.5%0%0%100%0%0%0%6
37.5%0%0%100%0%0%0%7
37.5%0%0%100%0%0%0%8
56.3%0%0%100%0%0%0%9
65.6%0%0%100%0%0%0%10
70.3%0%0%100%0%0%0%11
70.3%0%0%100%0%0%0%12
Compiler

Compiled 57 to 41 computations (28.1% saved)

sample2.5s (72%)

Results
2.4s8256×body256valid
Bogosity

preprocess251.0ms (7.3%)

Algorithm
egg-herbie
Rules
1288×associate-/r*
1284×associate-+l-
1034×fma-def
920×associate-+r-
768×distribute-lft-in
Problems
234×(log.f32 (-.f32 1 u0))
18×No Errors
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0991620
12411520
24611520
311781504
435391504
566971504
Stop Event
node limit
Calls
Call 1
Inputs
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay))))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphax))) (+.f32 (/.f32 cos2phi (*.f32 u0 u0)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphax (*.f32 cos2phi cos2phi)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 alphax (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphay (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 alphay (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 cos2phi))) (+.f32 (/.f32 u0 (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 sin2phi))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphay alphay))))
Outputs
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 (neg.f32 sin2phi) alphay) alphay)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 sin2phi alphay) alphay) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay))))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 u0) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 u0) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 (neg.f32 sin2phi) alphay) alphay)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 sin2phi alphay) alphay) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi alphay) alphay)))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphax))) (+.f32 (/.f32 cos2phi (*.f32 u0 u0)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphax))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphax))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphax))) (+.f32 (/.f32 (/.f32 sin2phi alphay) alphay) (/.f32 cos2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphax (*.f32 cos2phi cos2phi)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 alphax (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 alphax (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 (/.f32 sin2phi alphay) alphay) (/.f32 alphax (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 alphax (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 alphax (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi u0) u0)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi u0) u0)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphay (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 alphay (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 alphay (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 alphay (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 cos2phi))) (+.f32 (/.f32 u0 (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 cos2phi))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 u0 (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 cos2phi))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 u0 (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 cos2phi))) (+.f32 (/.f32 (/.f32 sin2phi alphay) alphay) (/.f32 u0 (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 cos2phi)) (-.f32 (/.f32 sin2phi (*.f32 alphay (neg.f32 alphay))) (/.f32 u0 (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 cos2phi)) (-.f32 (/.f32 u0 (neg.f32 (*.f32 alphax alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 sin2phi))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 sin2phi))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 sin2phi)) (-.f32 (/.f32 u0 (*.f32 alphay (neg.f32 alphay))) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
Symmetry

(abs alphax)

(abs alphay)

Compiler

Compiled 68 to 26 computations (61.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...