Trowbridge-Reitz Sample, sample surface normal, cosTheta

Time bar (total: 2.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze859.0ms (40.6%)

Memory
4.3MiB live, 259.9MiB 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)

sample87.0ms (4.1%)

Memory
0.9MiB live, 31.3MiB allocated
Samples
69.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 61.0ms
ival-mult: 12.0ms (19.7% of total)
ival-div: 8.0ms (13.1% of total)
ival-tan: 7.0ms (11.5% of total)
ival-sin: 6.0ms (9.8% of total)
ival-cos: 6.0ms (9.8% of total)
const: 6.0ms (9.8% of total)
ival-<=: 4.0ms (6.6% of total)
ival-add: 3.0ms (4.9% of total)
ival-atan: 2.0ms (3.3% of total)
ival-pi: 1.0ms (1.6% of total)
ival-sub: 1.0ms (1.6% of total)
ival-and: 1.0ms (1.6% of total)
ival-sqrt: 1.0ms (1.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain983.0ms (46.4%)

Memory
16.3MiB live, 347.9MiB allocated
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Samples
697.0ms3 072×0valid
Compiler

Compiled 3 192 to 1 176 computations (63.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 597.0ms
ival-mult: 140.0ms (23.5% of total)
ival-div: 103.0ms (17.3% of total)
ival-tan: 87.0ms (14.6% of total)
ival-cos: 80.0ms (13.4% of total)
ival-sin: 78.0ms (13.1% of total)
ival-add: 34.0ms (5.7% of total)
ival-atan: 27.0ms (4.5% of total)
ival-sqrt: 18.0ms (3% of total)
ival-sub: 12.0ms (2% of total)
ival-pi: 10.0ms (1.7% of total)
exact: 4.0ms (0.7% of total)
ival-true: 2.0ms (0.3% of total)
adjust: 1.0ms (0.2% of total)
ival-assert: 1.0ms (0.2% of total)

preprocess157.0ms (7.4%)

Memory
-5.9MiB live, 31.1MiB 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%)

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)

simplify29.0ms (1.3%)

Memory
-9.1MiB 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%)

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