Disney BSSRDF, PDF of scattering profile

Time bar (total: 2.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze126.0ms (5.2%)

Memory
2.8MiB live, 19.9MiB 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)

sample50.0ms (2.1%)

Memory
-1.5MiB live, 20.9MiB allocated
Samples
37.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-mult: 11.0ms (35.4% of total)
ival-div: 6.0ms (19.3% of total)
ival-exp: 4.0ms (12.9% of total)
const: 4.0ms (12.9% of total)
ival-pi: 1.0ms (3.2% of total)
ival-add: 1.0ms (3.2% of total)
ival-and: 1.0ms (3.2% of total)
ival-<=: 1.0ms (3.2% of total)
exact: 1.0ms (3.2% of total)
ival-<: 1.0ms (3.2% of total)
ival-neg: 1.0ms (3.2% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain2.0s (83.6%)

Memory
10.3MiB live, 1 817.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
310(2.044816017150879 7.801540374755859)0-(exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))
19(2.044816017150879 7.801540374755859)0-(exp.f32 (/.f32 (neg.f32 r) s))
16(3.776625366113294e-36 4.087767592864111e-6)1(9.391987987328321e-8 1.1497964806039818e-5)(/.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))
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))
06(3.776625366113294e-36 4.087767592864111e-6)0-(/.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-(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))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f32(exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))sensitivity130
exp.f32(exp.f32 (/.f32 (neg.f32 r) s))sensitivity100
/.f32(/.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))u/u60
(*.f32 #s(literal 3/4 binary32) (exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s))))underflow223
(exp.f32 (/.f32 (neg.f32 r) (*.f32 #s(literal 3 binary32) s)))underflow223
(*.f32 (*.f32 (*.f32 #s(literal 6 binary32) (PI.f32)) s) r)underflow6
Confusion
Predicted +Predicted -
+20
-17237
Precision
0.10526315789473684
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+200
-170237
Precision?
0.10526315789473684
Recall?
1.0
Freqs
test
numberfreq
0237
19
210
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
10.089599609375
Average Time
0.039412498474121094
Samples
398.0ms3 072×0valid
Compiler

Compiled 5 676 to 1 224 computations (78.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 289.0ms
ival-mult: 130.0ms (45% of total)
ival-div: 72.0ms (24.9% of total)
ival-exp: 41.0ms (14.2% of total)
ival-neg: 14.0ms (4.8% of total)
ival-add: 12.0ms (4.2% of total)
ival-pi: 10.0ms (3.5% of total)
exact: 6.0ms (2.1% of total)
ival-true: 2.0ms (0.7% of total)
adjust: 1.0ms (0.3% of total)
ival-assert: 1.0ms (0.3% of total)

preprocess190.0ms (7.9%)

Memory
8.5MiB 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.6%
(+.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)

simplify29.0ms (1.2%)

Memory
-9.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...