Disney BSSRDF, sample scattering profile, lower

Time bar (total: 2.6s)

analyze29.0ms (1.1%)

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 54 to 40 computations (25.9% saved)

sample2.4s (94.6%)

Results
1.2s8256×0valid-tuning
1.1s8256×0valid-baseline
Bogosity

preprocess86.0ms (3.3%)

Algorithm
egg-herbie
Rules
350×fma-define
190×fma-neg
116×distribute-lft-neg-in
72×unsub-neg
66×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 12 to 9 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
62.3%
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))
Compiler

Compiled 24 to 18 computations (25% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×*-commutative
sub-neg
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01535
12735
23835
34435
44835
54935
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)))))
Outputs
(*.f32 s (log.f32 (/.f32 #s(literal 1 binary32) (-.f32 #s(literal 1 binary32) (*.f32 #s(literal 4 binary32) u)))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 12 to 9 computations (25% saved)

preprocess19.0ms (0.7%)

Remove

(negabs s)

Compiler

Compiled 96 to 72 computations (25% saved)

end0.0ms (0%)

Profiling

Loading profile data...