HairBSDF, sample_f, cosTheta

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze65.0ms (4.9%)

Memory
4.8MiB live, 21.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.9%99.1%0%0%0%0
0%0%0.9%99.1%0%0%0%1
0%0%0.9%99.1%0%0%0%2
0%0%0.9%99.1%0%0%0%3
0%0%0.9%99.1%0%0%0%4
37.5%0.3%0.5%99.1%0%0%0%5
43.7%0.4%0.5%99.1%0%0%0%6
65.6%0.6%0.3%99.1%0%0%0%7
70.3%0.6%0.3%99.1%0%0%0%8
82%0.7%0.2%99.1%0%0%0%9
84.8%0.7%0.1%99.1%0%0%0%10
90.8%0.8%0.1%99.1%0%0%0%11
92.3%0.8%0.1%99.1%0%0%0%12
Compiler

Compiled 31 to 23 computations (25.8% saved)

sample36.0ms (2.8%)

Memory
-1.8MiB live, 13.9MiB allocated
Samples
27.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 22.0ms
const: 6.0ms (27.4% of total)
ival-div: 3.0ms (13.7% of total)
ival-mult: 3.0ms (13.7% of total)
ival-add: 2.0ms (9.1% of total)
ival-exp: 2.0ms (9.1% of total)
ival-log: 2.0ms (9.1% of total)
ival-<=: 2.0ms (9.1% of total)
ival-sub: 1.0ms (4.6% of total)
ival-and: 1.0ms (4.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain1.1s (83.2%)

Memory
5.3MiB live, 887.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-0-(log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))
00-0-(-.f32 #s(literal 1 binary32) u)
00-0-#s(literal 1 binary32)
00-0-#s(literal -2 binary32)
00-0-(exp.f32 (/.f32 #s(literal -2 binary32) v))
00-0-u
00-0-(+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v))))
00-0-v
00-0-(+.f32 #s(literal 1 binary32) (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))))
00-0-(/.f32 #s(literal -2 binary32) v)
02(0.00934650283306837 1.1381110709104158e-38)0-(*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v))))))
00-0-(*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32(log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))sensitivity13
Confusion
Predicted +Predicted -
+13
-0252
Precision
1.0
Recall
0.25
Confusion?
Predicted +Predicted MaybePredicted -
+121
-05247
Precision?
0.375
Recall?
0.75
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
8.517333984375
Average Time
0.033270835876464844
Samples
225.0ms3 072×0valid
Compiler

Compiled 2 760 to 600 computations (78.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 146.0ms
ival-mult: 31.0ms (21.3% of total)
ival-log: 27.0ms (18.5% of total)
ival-add: 24.0ms (16.5% of total)
ival-div: 22.0ms (15.1% of total)
ival-exp: 21.0ms (14.4% of total)
ival-sub: 15.0ms (10.3% of total)
exact: 3.0ms (2.1% of total)
ival-true: 2.0ms (1.4% of total)
adjust: 1.0ms (0.7% of total)
ival-assert: 1.0ms (0.7% of total)

preprocess100.0ms (7.6%)

Memory
-3.7MiB live, 7.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03285
16775
215675
338775
494075
5167275
6227075
7254375
8269175
9273175
10275975
11278075
12278075
01215
02015
12815
23815
36115
411715
516415
624315
738415
850415
954615
1054715
054713
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f32 #s(literal 1 binary32) (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))))
Outputs
(+.f32 #s(literal 1 binary32) (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))))
(fma.f32 (log.f32 (fma.f32 (exp.f32 (/.f32 #s(literal -2 binary32) v)) (-.f32 #s(literal 1 binary32) u) u)) v #s(literal 1 binary32))
Compiler

Compiled 15 to 12 computations (20% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0.1%)

Memory
0.5MiB live, 0.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(+.f32 #s(literal 1 binary32) (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))))
Compiler

Compiled 30 to 24 computations (20% saved)

simplify19.0ms (1.4%)

Memory
2.3MiB live, 18.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01215
12115
22515
32715
42815
Stop Event
saturated
Calls
Call 1
Inputs
(+.f32 #s(literal 1 binary32) (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))))
Outputs
(+.f32 #s(literal 1 binary32) (*.f32 v (log.f32 (+.f32 u (*.f32 (-.f32 #s(literal 1 binary32) u) (exp.f32 (/.f32 #s(literal -2 binary32) v)))))))
(+.f32 (*.f32 (log.f32 (+.f32 (*.f32 (exp.f32 (/.f32 #s(literal -2 binary32) v)) (-.f32 #s(literal 1 binary32) u)) u)) v) #s(literal 1 binary32))

soundness0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

preprocess1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 60 to 48 computations (20% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...