HairBSDF, Mp, lower

Time bar (total: 2.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze328.0ms (14.3%)

Memory
4.5MiB live, 123.7MiB 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)

sample59.0ms (2.6%)

Memory
0.3MiB live, 24.0MiB allocated
Samples
44.0ms260×0valid
1.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 36.0ms
const: 10.0ms (27.4% of total)
ival-div: 6.0ms (16.4% of total)
ival-<=: 5.0ms (13.7% of total)
ival-mult: 4.0ms (11% of total)
ival-log: 3.0ms (8.2% of total)
ival-exp: 2.0ms (5.5% of total)
ival-add: 2.0ms (5.5% of total)
ival-sub: 2.0ms (5.5% of total)
ival-and: 2.0ms (5.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain1.7s (75.5%)

Memory
8.2MiB live, 1 377.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
9814(2.164914851938718e-32 -7.226218549759047e-29 0.0012382048880681396 1.0635658041401585e-37 6.640054454761303e-38)17(-1.487494988294813e-10 2.838171653252175e-8 -5.262123604001002e-33 4.316611821444389e-27 1.1439316437470397e-18)(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
9217(-5.863633148331052e-22 6.127387950371774e-19 -7.732310791652708e-9 -9.20257569716379e-31 7.73577757895943e-20)18(-1.0035430316295058e-20 -8.481488435304059e-38 -1.0955745999738974e-36 -1.0835636884112222e-21 9.999607418099116e-20)(/.f32 (*.f32 cosTheta_i cosTheta_O) 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)
0230(-2.722882282687799e-21 -9.93129368465097e-28 -9.184807982501676e-32 -1.2406339289228185e-9 7.450516997388376e-26)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
0220(-2.722882282687799e-21 -9.93129368465097e-28 -9.184807982501676e-32 -1.2406339289228185e-9 7.450516997388376e-26)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)
041(1.2849414781837902e-37 1.4674641057865756e-8 2.503614094639257e-36 1.466102239611189e-11 3.3108813000254367e-13)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))
04(7.515275501646101e-5 -6.2148623920788015e-12 -1.0036289905585517e-17 4.0257309431038796e-38 0.02156539261341095)0-(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-cosTheta_O
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.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))))cancellation2300
+.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))cancellation2200
-.f32(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))cancellation200
/.f32(/.f32 (*.f32 sinTheta_i sinTheta_O) v)u/n170
(*.f32 sinTheta_i sinTheta_O)underflow143
/.f32(/.f32 (*.f32 cosTheta_i cosTheta_O) v)u/n160
(*.f32 cosTheta_i cosTheta_O)underflow138
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)))))sensitivity40
Confusion
Predicted +Predicted -
+20
-23321
Precision
0.00851063829787234
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+200
-233021
Precision?
0.00851063829787234
Recall?
1.0
Freqs
test
numberfreq
021
112
2180
337
46
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
12.79443359375
Average Time
0.04997825622558594
Samples
395.0ms3 072×0valid
Compiler

Compiled 5 112 to 1 032 computations (79.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 271.0ms
ival-div: 75.0ms (27.7% of total)
ival-mult: 52.0ms (19.2% of total)
const: 38.0ms (14% of total)
ival-log: 30.0ms (11.1% of total)
ival-add: 25.0ms (9.2% of total)
ival-sub: 23.0ms (8.5% of total)
ival-exp: 20.0ms (7.4% of total)
exact: 3.0ms (1.1% of total)
ival-true: 2.0ms (0.7% of total)
adjust: 1.0ms (0.4% of total)
ival-assert: 1.0ms (0.4% of total)

preprocess138.0ms (6%)

Memory
-0.9MiB 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)

simplify30.0ms (1.3%)

Memory
-9.3MiB live, 18.2MiB 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.2%)

Memory
4.2MiB live, 4.2MiB 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...