HairBSDF, Mp, lower

Time bar (total: 9.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze334.0ms (3.5%)

Memory
4.9MiB live, 123.8MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%3%97%0%0%0%0
0%0%3%97%0%0%0%1
0%0%3%97%0%0%0%2
0%0%3%97%0%0%0%3
0%0%3%97%0%0%0%4
0%0%3%97%0%0%0%5
0%0%1.5%97%0%1.5%0%6
0%0%1.5%97%0%1.5%0%7
0%0%1.5%97%0%1.5%0%8
0%0%1.5%97%0%1.5%0%9
0%0%1.5%97%0%1.5%0%10
0%0%1.5%97%0%1.5%0%11
0%0%1.5%97%0%1.5%0%12
Compiler

Compiled 65 to 44 computations (32.3% saved)

sample61.0ms (0.6%)

Memory
0.9MiB live, 23.7MiB allocated
Samples
45.0ms260×0valid
1.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 38.0ms
const: 9.0ms (23.8% of total)
ival-div: 7.0ms (18.5% of total)
ival-<=: 6.0ms (15.8% of total)
ival-mult: 5.0ms (13.2% of total)
ival-log: 3.0ms (7.9% of total)
ival-exp: 2.0ms (5.3% of total)
ival-add: 2.0ms (5.3% of total)
ival-sub: 2.0ms (5.3% of total)
ival-and: 2.0ms (5.3% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain9.0s (94.1%)

Memory
50.1MiB live, 5 058.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
944(2.341092551817769e-15 0.0002558317210059613 -5.178034320019426e-36 2.6030320379815633e-16 2.3008972505067504e-7)28(0.8887529373168945 0.00047468108823522925 -0.00010791708336910233 3.1609315012775716e-36 1.9161187757680412e-28)(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
845(-3.4269702825278844e-14 -4.312301815202857e-36 8.303883459422738e-27 -3.470407633781699e-22 1.3473608305503149e-5)33(-4.770089170400208e-22 2.5947515817117125e-23 -3.1100528576670847e-17 -0.33908629417419434 1.997664403688426e-12)(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
17(-0.6291767954826355 3.787336998591622e-27 -2.851654930535243e-37 2.481084495549281e-24 0.004820686765015125)1(1.1086620361311361e-5 1.2028514104955056e-25 -3.588461698487744e-17 -3.2150286948449643e-16 0.012408608570694923)(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
00-0-(/.f32 #s(literal 1 binary32) v)
00-0-(/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))
00-0-#s(literal 2 binary32)
00-0-(+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))
00-0-sinTheta_i
00-0-v
00-0-cosTheta_i
00-0-(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32))
00-0-sinTheta_O
00-0-(*.f32 #s(literal 2 binary32) v)
00-0-(*.f32 sinTheta_i sinTheta_O)
00-0-(log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))
00-0-#s(literal 1 binary32)
00-0-(*.f32 cosTheta_i cosTheta_O)
00-0-#s(literal 6931/10000 binary32)
00-0-(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
00-0-(-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v))
00-0-cosTheta_O
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f32(/.f32 (*.f32 cosTheta_i cosTheta_O) v)u/n100
(*.f32 cosTheta_i cosTheta_O)underflow73
/.f32(/.f32 (*.f32 sinTheta_i sinTheta_O) v)u/n80
(*.f32 sinTheta_i sinTheta_O)underflow87
exp.f32(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))sensitivity71
Confusion
Predicted +Predicted -
+01
-25230
Precision
0.0
Recall
0.0
Confusion?
Predicted +Predicted MaybePredicted -
+010
-250230
Precision?
0.038461538461538464
Recall?
1.0
Freqs
test
numberfreq
0231
125
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
36.22705078125
Average Time
0.1415119171142578
Samples
3.0s23 040×0valid
Compiler

Compiled 19 260 to 3 960 computations (79.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.1s
ival-div: 575.0ms (27.3% of total)
ival-mult: 403.0ms (19.1% of total)
const: 312.0ms (14.8% of total)
ival-log: 244.0ms (11.6% of total)
ival-add: 183.0ms (8.7% of total)
ival-sub: 180.0ms (8.5% of total)
ival-exp: 162.0ms (7.7% of total)
exact: 23.0ms (1.1% of total)
ival-true: 19.0ms (0.9% of total)
ival-assert: 8.0ms (0.4% of total)

preprocess141.0ms (1.5%)

Memory
2.6MiB live, 34.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0159481
1462447
21368440
34990440
02125
03423
16322
215122
347122
4171722
5504722
0813419
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
Outputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (fma.f32 (fma.f32 sinTheta_O sinTheta_i #s(literal 1 binary32)) (/.f32 #s(literal -1 binary32) v) (fma.f32 (/.f32 cosTheta_O v) cosTheta_i #s(literal 6931/10000 binary32)))))
Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 25 to 21 computations (16% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 5 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
Compiler

Compiled 50 to 42 computations (16% saved)

simplify21.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02125
13325
24725
36325
47725
510625
614825
715225
Stop Event
saturated
Calls
Call 1
Inputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
Outputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O cosTheta_i) v) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)) (/.f32 #s(literal 1 binary32) v)))))

soundness0.0ms (0%)

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

Compiled 25 to 21 computations (16% saved)

preprocess6.0ms (0.1%)

Memory
4.3MiB live, 4.3MiB allocated
Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 300 to 252 computations (16% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...