Trowbridge-Reitz Sample, sample surface normal, cosTheta

Time bar (total: 19.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze882.0ms (4.5%)

Memory
0.0MiB live, 258.7MiB 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)

sample91.0ms (0.5%)

Memory
0.9MiB live, 31.0MiB allocated
Samples
75.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 66.0ms
ival-mult: 12.0ms (18.1% of total)
ival-div: 10.0ms (15.1% of total)
ival-tan: 8.0ms (12% of total)
ival-sin: 7.0ms (10.5% of total)
ival-cos: 7.0ms (10.5% of total)
const: 7.0ms (10.5% of total)
ival-<=: 5.0ms (7.5% of total)
ival-add: 3.0ms (4.5% of total)
ival-atan: 3.0ms (4.5% 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)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain18.4s (94%)

Memory
23.3MiB live, 9 735.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1881(4.436052636336285e-10 0.0002358380297664553 0.0008301590569317341 0.0007347489008679986)16(5.677537373571795e-8 0.0020476123318076134 0.02322322316467762 0.6569517850875854)(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))
1854(0.0009973605629056692 0.0030485158786177635 0.01358830463141203 0.560529351234436)9(0.0007135341293178499 0.05013478919863701 0.00013860693434253335 0.0016481721540912986)(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)))))))
00-0-(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))))
00-0-(*.f32 alphax alphax)
00-0-(*.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))))))))
00-0-(PI.f32)
00-0-#s(literal 2 binary32)
00-0-(/.f32 alphay alphax)
00-0-(/.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))))
00-0-#s(literal 1/2 binary32)
00-0-(+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))
00-0-(-.f32 #s(literal 1 binary32) u0)
00-0-u1
00-0-(*.f32 #s(literal 1/2 binary32) (PI.f32))
00-0-alphax
00-0-(/.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)))))
00-0-u0
00-0-(*.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))))))))
00-0-(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1)
00-0-(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)))))))
00-0-(*.f32 alphay alphay)
00-0-#s(literal 1 binary32)
00-0-(*.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)
00-0-(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))))))
00-0-(/.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))
00-0-(+.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)))
00-0-(/.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))
00-0-(*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))
00-0-alphay
00-0-(+.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)))
00-0-(/.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))
00-0-(*.f32 #s(literal 2 binary32) (PI.f32))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.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)))))))sensitivity18021
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation17322
Confusion
Predicted +Predicted -
+00
-19858
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-1981840
Precision?
0.0
Recall?
0/0
Freqs
test
numberfreq
058
143
2155
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-100
Precision?
0.0
Recall?
0/0
Total Time
68.503173828125
Average Time
0.2675905227661133
Samples
5.9s23 040×0valid
Compiler

Compiled 115 380 to 5 940 computations (94.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.8s
ival-mult: 1.1s (22.8% of total)
ival-div: 795.0ms (16.6% of total)
ival-tan: 726.0ms (15.1% of total)
ival-sin: 651.0ms (13.6% of total)
ival-cos: 623.0ms (13% of total)
ival-add: 282.0ms (5.9% of total)
ival-atan: 237.0ms (4.9% of total)
ival-sqrt: 137.0ms (2.9% of total)
ival-sub: 113.0ms (2.4% of total)
ival-pi: 80.0ms (1.7% of total)
exact: 32.0ms (0.7% of total)
ival-true: 20.0ms (0.4% of total)
ival-assert: 9.0ms (0.2% of total)

preprocess162.0ms (0.8%)

Memory
-0.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%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(/.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)

simplify30.0ms (0.2%)

Memory
-8.6MiB 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...