Trowbridge-Reitz Sample, sample surface normal, cosTheta

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze918.0ms (70.7%)

Memory
3.6MiB live, 259.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
0%0%0%100%0%0%0%3
0%0%0%100%0%0%0%4
0%0%0%100%0%0%0%5
0%0%0%100%0%0%0%6
6.2%0%0%100%0%0%0%7
9.4%0%0%100%0%0%0%8
14.1%0%0%100%0%0%0%9
21.1%0%0%100%0%0%0%10
31.6%0%0%100%0%0%0%11
36.9%0%0%100%0%0%0%12
Compiler

Compiled 120 to 50 computations (58.3% saved)

sample94.0ms (7.3%)

Memory
1.0MiB live, 31.4MiB allocated
Samples
76.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 68.0ms
ival-mult: 13.0ms (19.2% of total)
ival-div: 9.0ms (13.3% of total)
ival-tan: 8.0ms (11.8% of total)
ival-sin: 7.0ms (10.3% of total)
ival-cos: 7.0ms (10.3% of total)
const: 7.0ms (10.3% of total)
ival-<=: 5.0ms (7.4% of total)
ival-add: 3.0ms (4.4% of total)
ival-atan: 3.0ms (4.4% of total)
ival-sqrt: 2.0ms (3% of total)
ival-pi: 1.0ms (1.5% of total)
ival-sub: 1.0ms (1.5% of total)
ival-and: 1.0ms (1.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain88.0ms (6.8%)

Memory
6.4MiB live, 29.3MiB allocated
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Samples
64.0ms256×0valid
Compiler

Compiled 266 to 98 computations (63.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 54.0ms
ival-mult: 12.0ms (22.1% of total)
ival-div: 9.0ms (16.5% of total)
ival-tan: 9.0ms (16.5% of total)
ival-sin: 7.0ms (12.9% of total)
ival-cos: 7.0ms (12.9% of total)
ival-add: 3.0ms (5.5% of total)
ival-atan: 3.0ms (5.5% of total)
ival-sqrt: 2.0ms (3.7% of total)
ival-pi: 1.0ms (1.8% of total)
ival-sub: 1.0ms (1.8% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess164.0ms (12.6%)

Memory
1.1MiB live, 31.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02021260
14911222
210131108
332361108
462671108
03288
05788
18986
212778
317678
427078
572078
6222578
7418378
8616878
0804473
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f32 #s(literal 1 binary32) (sqrt.f32 (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 #s(literal 1 binary32) u0)))))
Outputs
(/.f32 #s(literal 1 binary32) (sqrt.f32 (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 #s(literal 1 binary32) u0)))))
(/.f32 #s(literal 1 binary32) (sqrt.f32 (-.f32 (/.f32 (/.f32 u0 (-.f32 #s(literal 1 binary32) u0)) (fma.f32 (/.f32 (sin.f32 (atan.f32 (*.f32 (tan.f32 (*.f32 (fma.f32 u1 #s(literal 2 binary32) #s(literal 1/2 binary32)) (PI.f32))) (/.f32 alphay alphax)))) (*.f32 alphay alphay)) (sin.f32 (atan.f32 (*.f32 (tan.f32 (*.f32 (fma.f32 u1 #s(literal 2 binary32) #s(literal 1/2 binary32)) (PI.f32))) (/.f32 alphay alphax)))) (*.f32 (/.f32 (cos.f32 (atan.f32 (*.f32 (tan.f32 (*.f32 (fma.f32 u1 #s(literal 2 binary32) #s(literal 1/2 binary32)) (PI.f32))) (/.f32 alphay alphax)))) (*.f32 alphax alphax)) (cos.f32 (atan.f32 (*.f32 (tan.f32 (*.f32 (fma.f32 u1 #s(literal 2 binary32) #s(literal 1/2 binary32)) (PI.f32))) (/.f32 alphay alphax))))))) #s(literal -1 binary32))))
Compiler

Compiled 88 to 32 computations (63.6% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune1.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.3%
(/.f32 #s(literal 1 binary32) (sqrt.f32 (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 #s(literal 1 binary32) u0)))))
Compiler

Compiled 176 to 64 computations (63.6% saved)

simplify31.0ms (2.4%)

Memory
-9.2MiB live, 18.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03288
14588
24988
35188
45288
Stop Event
saturated
Calls
Call 1
Inputs
(/.f32 #s(literal 1 binary32) (sqrt.f32 (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 #s(literal 1 binary32) u0)))))
Outputs
(/.f32 #s(literal 1 binary32) (sqrt.f32 (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 (/.f32 #s(literal 1 binary32) (+.f32 (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphax alphax)) (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))))) (sin.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))) (*.f32 alphay alphay)))) u0) (-.f32 #s(literal 1 binary32) u0)))))
(/.f32 #s(literal 1 binary32) (sqrt.f32 (+.f32 (/.f32 (*.f32 u0 (/.f32 #s(literal 1 binary32) (+.f32 (/.f32 (*.f32 (sin.f32 (atan.f32 (*.f32 (tan.f32 (+.f32 (*.f32 #s(literal 1/2 binary32) (PI.f32)) (*.f32 u1 (*.f32 (PI.f32) #s(literal 2 binary32))))) (/.f32 alphay alphax)))) (sin.f32 (atan.f32 (*.f32 (tan.f32 (+.f32 (*.f32 #s(literal 1/2 binary32) (PI.f32)) (*.f32 u1 (*.f32 (PI.f32) #s(literal 2 binary32))))) (/.f32 alphay alphax))))) (*.f32 alphay alphay)) (/.f32 (*.f32 (cos.f32 (atan.f32 (*.f32 (tan.f32 (+.f32 (*.f32 #s(literal 1/2 binary32) (PI.f32)) (*.f32 u1 (*.f32 (PI.f32) #s(literal 2 binary32))))) (/.f32 alphay alphax)))) (cos.f32 (atan.f32 (*.f32 (tan.f32 (+.f32 (*.f32 #s(literal 1/2 binary32) (PI.f32)) (*.f32 u1 (*.f32 (PI.f32) #s(literal 2 binary32))))) (/.f32 alphay alphax))))) (*.f32 alphax alphax))))) (-.f32 #s(literal 1 binary32) u0)) #s(literal 1 binary32))))

soundness0.0ms (0%)

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

Compiled 88 to 32 computations (63.6% saved)

preprocess1.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Compiler

Compiled 352 to 128 computations (63.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...