HairBSDF, sample_f, cosTheta

Time bar (total: 2.0s)

analyze50.0ms (2.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.9%99.1%0%0%0%0
0%0%0.9%99.1%0%0%0%1
0%0%0.9%99.1%0%0%0%2
50%0.4%0.4%99.1%0%0%0%3
50%0.4%0.4%99.1%0%0%0%4
75%0.6%0.2%99.1%0%0%0%5
75%0.6%0.2%99.1%0%0%0%6
87.5%0.7%0.1%99.1%0%0%0%7
87.5%0.7%0.1%99.1%0%0%0%8
93.7%0.8%0.1%99.1%0%0%0%9
93.7%0.8%0.1%99.1%0%0%0%10
96.9%0.8%0%99.1%0%0%0%11
96.9%0.8%0%99.1%0%0%0%12
Compiler

Compiled 32 to 24 computations (25% saved)

sample1.6s (78.7%)

Results
1.6s8256×body256valid
Bogosity

preprocess383.0ms (18.8%)

Algorithm
egg-herbie
Rules
3348×fma-def
904×associate--r+
790×distribute-lft-in
738×*-commutative
704×associate-+r+
Problems
242×No Errors
11×(exp.f32 (/.f32 -2 v))
(log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)))))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
043439
184363
2199359
3474359
41339359
52986359
64301359
74972359
85248359
95628359
105792359
116978359
127945359
Stop Event
node limit
Calls
Call 1
Inputs
(+.f32 1 (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)))))))
(+.f32 1 (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)))))))
(+.f32 1 (*.f32 v (log.f32 (+.f32 (neg.f32 u) (*.f32 (-.f32 1 (neg.f32 u)) (exp.f32 (/.f32 -2 v)))))))
(+.f32 1 (*.f32 (neg.f32 v) (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 (neg.f32 v))))))))
(neg.f32 (+.f32 1 (*.f32 v (log.f32 (+.f32 (neg.f32 u) (*.f32 (-.f32 1 (neg.f32 u)) (exp.f32 (/.f32 -2 v))))))))
(neg.f32 (+.f32 1 (*.f32 (neg.f32 v) (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 (neg.f32 v)))))))))
(+.f32 1 (*.f32 u (log.f32 (+.f32 v (*.f32 (-.f32 1 v) (exp.f32 (/.f32 -2 u)))))))
Outputs
(+.f32 1 (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)))))))
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
(+.f32 1 (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)))))))
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 v)) u)) 1)
(+.f32 1 (*.f32 v (log.f32 (+.f32 (neg.f32 u) (*.f32 (-.f32 1 (neg.f32 u)) (exp.f32 (/.f32 -2 v)))))))
(+.f32 1 (*.f32 v (log.f32 (+.f32 (neg.f32 u) (*.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 (neg.f32 u)))))))
(fma.f32 v (log.f32 (-.f32 (*.f32 (exp.f32 (/.f32 -2 v)) (+.f32 1 u)) u)) 1)
(+.f32 1 (*.f32 (neg.f32 v) (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 (neg.f32 v))))))))
(fma.f32 (neg.f32 v) (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 2 v)) u)) 1)
(neg.f32 (+.f32 1 (*.f32 v (log.f32 (+.f32 (neg.f32 u) (*.f32 (-.f32 1 (neg.f32 u)) (exp.f32 (/.f32 -2 v))))))))
(+.f32 -1 (neg.f32 (*.f32 v (log.f32 (+.f32 (neg.f32 u) (*.f32 (exp.f32 (/.f32 -2 v)) (-.f32 1 (neg.f32 u))))))))
(-.f32 -1 (*.f32 v (log.f32 (-.f32 (*.f32 (exp.f32 (/.f32 -2 v)) (+.f32 1 u)) u))))
(neg.f32 (fma.f32 v (log.f32 (-.f32 (*.f32 (exp.f32 (/.f32 -2 v)) (+.f32 1 u)) u)) 1))
(fma.f32 v (neg.f32 (log.f32 (-.f32 (*.f32 (exp.f32 (/.f32 -2 v)) (+.f32 1 u)) u))) -1)
(neg.f32 (+.f32 1 (*.f32 (neg.f32 v) (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 (neg.f32 v)))))))))
(+.f32 -1 (neg.f32 (*.f32 (neg.f32 v) (log.f32 (+.f32 u (*.f32 (-.f32 1 u) (exp.f32 (/.f32 -2 (neg.f32 v)))))))))
(+.f32 -1 (*.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 2 v)) u))))
(fma.f32 v (log.f32 (fma.f32 (-.f32 1 u) (exp.f32 (/.f32 2 v)) u)) -1)
(+.f32 1 (*.f32 u (log.f32 (+.f32 v (*.f32 (-.f32 1 v) (exp.f32 (/.f32 -2 u)))))))
(fma.f32 u (log.f32 (fma.f32 (-.f32 1 v) (exp.f32 (/.f32 -2 u)) v)) 1)
Compiler

Compiled 74 to 53 computations (28.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...