Disney BSSRDF, sample scattering profile, lower

Time bar (total: 2.8s)

analyze63.0ms (2.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%1.5%98.5%0%0%0%0
0%0%1.5%98.5%0%0%0%1
0%0%1.5%98.5%0%0%0%2
50%0.8%0.8%98.5%0%0%0%3
50%0.8%0.8%98.5%0%0%0%4
75%1.2%0.4%98.5%0%0%0%5
75%1.2%0.4%98.5%0%0%0%6
87.5%1.4%0.2%98.5%0%0%0%7
87.5%1.4%0.2%98.5%0%0%0%8
93.8%1.4%0.1%98.5%0%0%0%9
93.8%1.4%0.1%98.5%0%0%0%10
96.9%1.5%0%98.5%0%0%0%11
96.9%1.5%0%98.5%0%0%0%12
Compiler

Compiled 27 to 21 computations (22.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
Operation ival-mult, time spent: 4.0ms, 26.0% of total-time
Operation ival-<=, time spent: 4.0ms, 26.0% of total-time
Operation ival-sub, time spent: 2.0ms, 13.0% of total-time
Operation ival-log, time spent: 2.0ms, 13.0% of total-time
Operation ival-div, time spent: 1.0ms, 7.0% of total-time
Operation ival-and, time spent: 1.0ms, 7.0% of total-time
Operation const, time spent: 1.0ms, 7.0% of total-time

sample2.5s (89.4%)

Results
2.3s8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
Operation ival-log, time spent: 452.0ms, 38.0% of total-time
Operation ival-mult, time spent: 349.0ms, 30.0% of total-time
Operation ival-<=, time spent: 182.0ms, 15.0% of total-time
Operation ival-div, time spent: 82.0ms, 7.0% of total-time
Operation ival-sub, time spent: 53.0ms, 4.0% of total-time
Operation const, time spent: 35.0ms, 3.0% of total-time
Operation ival-and, time spent: 30.0ms, 3.0% of total-time
Bogosity

preprocess232.0ms (8.3%)

Algorithm
egg-herbie
Rules
175×fma-define
95×fma-neg
58×distribute-lft-neg-in
36×unsub-neg
33×sub-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030247
180181
2152181
3315181
4508181
5783181
6864181
7926181
8951181
9975181
10993181
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
(*.f32 (neg.f32 s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) (neg.f32 u))))))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u))))))
(neg.f32 (*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) (neg.f32 u)))))))
(*.f32 u (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) s)))))
Outputs
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
(*.f32 s (neg.f32 (log.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -4 binary32) u)))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u #s(literal -4 binary32))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u #s(literal -4 binary32)))))
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
(*.f32 s (neg.f32 (log.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -4 binary32) u)))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u #s(literal -4 binary32))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u #s(literal -4 binary32)))))
(*.f32 (neg.f32 s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
(*.f32 (neg.f32 (log.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -4 binary32) u)))) (neg.f32 s))
(*.f32 s (log1p.f32 (*.f32 u #s(literal -4 binary32))))
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) (neg.f32 u))))))
(*.f32 s (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) (neg.f32 u))))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 #s(literal 4 binary32) u))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 #s(literal 4 binary32) u)))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u))))))
(*.f32 s (neg.f32 (log.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -4 binary32) u)))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u #s(literal -4 binary32))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u #s(literal -4 binary32)))))
(neg.f32 (*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) (neg.f32 u)))))))
(*.f32 s (neg.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) (neg.f32 u)))))))
(*.f32 s (log1p.f32 (*.f32 #s(literal 4 binary32) u)))
(*.f32 u (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) s)))))
(*.f32 u (neg.f32 (log.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -4 binary32) s)))))
(*.f32 u (neg.f32 (log1p.f32 (*.f32 s #s(literal -4 binary32)))))
Symmetry

(negabs s)

Compiler

Compiled 41 to 33 computations (19.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
Operation ival-mult, time spent: 12.0ms, 27.0% of total-time
Operation ival-log, time spent: 12.0ms, 27.0% of total-time
Operation ival-div, time spent: 10.0ms, 22.0% of total-time
Operation ival-sub, time spent: 9.0ms, 20.0% of total-time
Operation const, time spent: 2.0ms, 4.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...