Disney BSSRDF, PDF of scattering profile

Time bar (total: 2.9s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze53.0ms (1.8%)

Memory
2.1MiB live, 19.8MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.1%97.9%0%0%0%0
0%0%2.1%97.9%0%0%0%1
0%0%2.1%97.9%0%0%0%2
25%0.5%1.5%97.9%0%0%0%3
37.5%0.8%1.3%97.9%0%0%0%4
56.2%1.2%0.9%97.9%0%0%0%5
65.6%1.3%0.7%97.9%0%0%0%6
76.6%1.6%0.5%97.9%0%0%0%7
82%1.7%0.4%97.9%0%0%0%8
87.9%1.8%0.2%97.9%0%0%0%9
90.8%1.9%0.2%97.9%0%0%0%10
93.8%1.9%0.1%97.9%0%0%0%11
95.4%2%0.1%97.9%0%0%0%12
Compiler

Compiled 49 to 37 computations (24.5% saved)

sample49.0ms (1.7%)

Memory
-1.8MiB live, 20.9MiB allocated
Samples
36.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-mult: 11.0ms (37.4% of total)
ival-div: 6.0ms (20.4% of total)
ival-exp: 3.0ms (10.2% of total)
const: 3.0ms (10.2% of total)
ival-pi: 1.0ms (3.4% of total)
ival-add: 1.0ms (3.4% of total)
ival-and: 1.0ms (3.4% of total)
ival-<=: 1.0ms (3.4% of total)
exact: 1.0ms (3.4% of total)
ival-<: 1.0ms (3.4% of total)
ival-neg: 1.0ms (3.4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain2.6s (89.3%)

Memory
-78.4MiB live, 1 723.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
29(0.002302703680470586 0.7782713174819946)2(6.652773443249771e-9 1.2609168607013999e-6)(exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))
10-1(3.5842168699673493e-7 0.00010618748638080433)(/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r))
16(0.0012634812155738473 0.14026744663715363)0-(exp.f32 (/.f32 (neg.f32 r) s))
00-0-(*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)
00-0-(*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))))
00-0-(PI.f32)
00-0-#s(literal 2 binary32)
00-0-(*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s)
00-0-(*.f32 #s(literal 6 binary32) (PI.f32))
00-0-(neg.f32 r)
00-0-s
00-0-(/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))
00-0-(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)))
00-0-#s(literal 3/4 binary32)
00-0-(/.f32 (neg.f32 r) s)
00-0-#s(literal 1/4 binary32)
00-0-(*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s)))
00-0-(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s)
00-0-(*.f32 #s(literal 3 binary32) s)
00-0-(*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)
00-0-#s(literal 6 binary32)
00-0-r
00-0-#s(literal 3 binary32)
00-0-(*.f32 #s(literal 2 binary32) (PI.f32))
00-0-(/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f32(exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))sensitivity94
exp.f32(exp.f32 (/.f32 (neg.f32 r) s))sensitivity71
Confusion
Predicted +Predicted -
+40
-9243
Precision
0.3076923076923077
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+400
-91242
Precision?
0.2857142857142857
Recall?
1.0
Freqs
test
numberfreq
0243
110
23
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
35.4072265625
Average Time
0.13830947875976563
Samples
788.0ms6 144×0valid
Compiler

Compiled 5 700 to 1 248 computations (78.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 570.0ms
ival-mult: 259.0ms (45.4% of total)
ival-div: 139.0ms (24.4% of total)
ival-exp: 81.0ms (14.2% of total)
ival-neg: 27.0ms (4.7% of total)
ival-add: 23.0ms (4% of total)
ival-pi: 21.0ms (3.7% of total)
exact: 12.0ms (2.1% of total)
ival-true: 5.0ms (0.9% of total)
adjust: 2.0ms (0.4% of total)
ival-assert: 2.0ms (0.4% of total)

preprocess180.0ms (6.2%)

Memory
5.7MiB live, 29.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057175
1192140
2929102
35143102
02533
04333
18328
225222
388920
4244820
5315920
6351520
7391820
8432020
9433220
10524120
11543620
12544920
13545120
14552920
15552920
0833120
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)))
Outputs
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)))
(*.f32 (+.f32 (pow.f32 (exp.f32 r) (/.f32 #s(literal -1/3 binary32) s)) (exp.f32 (/.f32 (neg.f32 r) s))) (/.f32 #s(literal 1/8 binary32) (*.f32 (*.f32 s r) (PI.f32))))
Compiler

Compiled 33 to 25 computations (24.2% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.5%
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)))
Compiler

Compiled 66 to 50 computations (24.2% saved)

simplify28.0ms (1%)

Memory
-17.7MiB live, 18.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02533
14333
25333
36733
47533
57933
68033
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)))
Outputs
(+.f32 (/.f32 (*.f32 #s(literal 1/4 binary32) (exp.f32 (/.f32 (neg.f32 r) s))) (*.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)))
(+.f32 (/.f32 (*.f32 (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))) #s(literal 3/4 binary32)) (*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)) (/.f32 (*.f32 (exp.f32 (/.f32 (neg.f32 r) s)) #s(literal 1/4 binary32)) (*.f32 (*.f32 (*.f32 (PI.f32) #s(literal 2 binary32)) s) r)))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 33 to 25 computations (24.2% saved)

preprocess1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Compiler

Compiled 132 to 100 computations (24.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...