Disney BSSRDF, sample scattering profile, lower

Time bar (total: 7.3s)

analyze53.0ms (0.7%)

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: 16.0ms
Operation ival-mult, time spent: 5.0ms, 31.0% of total-time
Operation ival-log, time spent: 3.0ms, 19.0% of total-time
Operation ival-<=, time spent: 3.0ms, 19.0% of total-time
Operation ival-div, time spent: 1.0ms, 6.0% of total-time
Operation ival-sub, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 1.0ms, 6.0% of total-time
Operation ival-and, time spent: 1.0ms, 6.0% of total-time

sample2.5s (33.7%)

Results
2.3s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
Operation ival-<=, time spent: 562.0ms, 46.0% of total-time
Operation ival-log, time spent: 202.0ms, 16.0% of total-time
Operation ival-mult, time spent: 157.0ms, 13.0% of total-time
Operation ival-sub, time spent: 149.0ms, 12.0% of total-time
Operation ival-div, time spent: 78.0ms, 6.0% of total-time
Operation const, time spent: 42.0ms, 3.0% of total-time
Operation ival-and, time spent: 34.0ms, 3.0% of total-time
Bogosity

preprocess1.9s (26.8%)

Algorithm
egg-herbie
Rules
2433×fma-def
1451×fma-neg
530×unsub-neg
452×distribute-lft-in
393×distribute-rgt-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(/.f32 1 (-.f32 1 (*.f32 4 u)))
00-0-(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
00-0-s
00-0-u
00-0-4
00-0-(*.f32 4 u)
00-0-(log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))
00-0-1
00-0-(-.f32 1 (*.f32 4 u))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030247
184181
2156181
3337181
4543181
5756181
6833181
7965181
81749181
93001181
103811181
114109181
124197181
134232181
144244181
154769181
166275181
176377181
186443181
196487181
206487181
216575181
226728181
236728181
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
(*.f32 (neg.f32 s) (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 (neg.f32 u))))))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))))
(neg.f32 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 (neg.f32 u)))))))
(*.f32 u (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 s)))))
Outputs
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
(*.f32 (neg.f32 s) (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
(*.f32 (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))) (neg.f32 s))
(*.f32 s (log1p.f32 (*.f32 u -4)))
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 (neg.f32 u))))))
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 (neg.f32 u))))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 4 u))))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))))
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
(neg.f32 (*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 (neg.f32 u)))))))
(*.f32 s (neg.f32 (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 (neg.f32 u)))))))
(*.f32 s (log1p.f32 (*.f32 4 u)))
(*.f32 u (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 s)))))
(*.f32 u (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 s)))))
(*.f32 u (neg.f32 (log1p.f32 (*.f32 s -4))))
(*.f32 (neg.f32 u) (log1p.f32 (*.f32 s -4)))
Symmetry

(negabs s)

Compiler

Compiled 92 to 74 computations (19.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 954.0ms
Operation ival-log, time spent: 355.0ms, 37.0% of total-time
Operation ival-sub, time spent: 279.0ms, 29.0% of total-time
Operation ival-mult, time spent: 166.0ms, 17.0% of total-time
Operation ival-div, time spent: 117.0ms, 12.0% of total-time
Operation const, time spent: 37.0ms, 4.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 25 to 19 computations (24% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.3%
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
62.0%
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))))
59.7%
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 32 to 26 computations (18.8% saved)

localize2.3s (32%)

Compiler

Compiled 93 to 69 computations (25.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.6s
Operation ival-log, time spent: 542.0ms, 35.0% of total-time
Operation ival-mult, time spent: 516.0ms, 33.0% of total-time
Operation ival-log1p, time spent: 135.0ms, 9.0% of total-time
Operation ival-sub, time spent: 125.0ms, 8.0% of total-time
Operation ival-add, time spent: 121.0ms, 8.0% of total-time
Operation ival-div, time spent: 54.0ms, 3.0% of total-time
Operation const, time spent: 39.0ms, 2.0% of total-time
Operation ival-neg, time spent: 30.0ms, 2.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked033
Done000
Total033
Accuracy
99.3%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.3%
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
62.0%
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))))
59.7%
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Compiler

Compiled 60 to 48 computations (20% saved)

regimes25.0ms (0.3%)

Accuracy

Total -12.8b remaining (-5358.9%)

Threshold costs -12.8b (-5358.9%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
(*.f32 s (neg.f32 (log.f32 (+.f32 1 (*.f32 -4 u)))))
(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
Outputs
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
Calls

7 calls:

5.0ms
(/.f32 1 (-.f32 1 (*.f32 4 u)))
4.0ms
(*.f32 4 u)
3.0ms
s
3.0ms
u
3.0ms
(-.f32 1 (*.f32 4 u))
Results
AccuracySegmentsBranch
99.3%1s
99.3%1u
99.3%1(*.f32 s (log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u)))))
99.3%1(log.f32 (/.f32 1 (-.f32 1 (*.f32 4 u))))
99.3%1(/.f32 1 (-.f32 1 (*.f32 4 u)))
99.3%1(-.f32 1 (*.f32 4 u))
99.3%1(*.f32 4 u)
Compiler

Compiled 49 to 41 computations (16.3% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01327
12127
22927
33627
43927
54027
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
Outputs
(*.f32 (neg.f32 s) (log1p.f32 (*.f32 u -4)))
(*.f32 s (neg.f32 (log1p.f32 (*.f32 u -4))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

soundness437.0ms (6%)

Rules
2433×fma-def
1451×fma-neg
530×unsub-neg
452×distribute-lft-in
393×distribute-rgt-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030247
184181
2156181
3337181
4543181
5756181
6833181
7965181
81749181
93001181
103811181
114109181
124197181
134232181
144244181
154769181
166275181
176377181
186443181
196487181
206487181
216575181
226728181
236728181
Stop Event
node limit
Compiler

Compiled 72 to 52 computations (27.8% saved)

end0.0ms (0%)

preprocess21.0ms (0.3%)

Remove

(negabs s)

Compiler

Compiled 78 to 62 computations (20.5% saved)

Profiling

Loading profile data...