Trowbridge-Reitz Sample, near normal, slope_x

Time bar (total: 3.2s)

analyze188.0ms (5.8%)

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
50%0%0%100%0%0%0%3
50%0%0%100%0%0%0%4
50%0%0%100%0%0%0%5
75%0%0%100%0%0%0%6
75%0%0%100%0%0%0%7
75%0%0%100%0%0%0%8
87.5%0%0%100%0%0%0%9
87.5%0%0%100%0%0%0%10
87.5%0%0%100%0%0%0%11
93.8%0%0%100%0%0%0%12
Compiler

Compiled 37 to 28 computations (24.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 51.0ms
Operation ival-<=, time spent: 11.0ms, 22.0% of total-time
Operation ival-cos, time spent: 10.0ms, 20.0% of total-time
Operation ival-mult, time spent: 9.0ms, 18.0% of total-time
Operation ival-sub, time spent: 5.0ms, 10.0% of total-time
Operation ival-sqrt, time spent: 4.0ms, 8.0% of total-time
Operation ival-div, time spent: 3.0ms, 6.0% of total-time
Operation ival-and, time spent: 3.0ms, 6.0% of total-time
Operation const, time spent: 3.0ms, 6.0% of total-time
Operation ival->, time spent: 3.0ms, 6.0% of total-time

sample2.8s (87.3%)

Results
2.5s8255×256valid
1.0ms256precondition
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 1.1s
Operation ival-div, time spent: 321.0ms, 28.0% of total-time
Operation ival-<=, time spent: 192.0ms, 17.0% of total-time
Operation ival-cos, time spent: 166.0ms, 15.0% of total-time
Operation ival-mult, time spent: 147.0ms, 13.0% of total-time
Operation ival-sqrt, time spent: 87.0ms, 8.0% of total-time
Operation ival-sub, time spent: 72.0ms, 6.0% of total-time
Operation ival->, time spent: 55.0ms, 5.0% of total-time
Operation ival-and, time spent: 48.0ms, 4.0% of total-time
Operation const, time spent: 41.0ms, 4.0% of total-time
Bogosity

preprocess221.0ms (6.9%)

Algorithm
egg-herbie
Rules
299×fma-define
95×fma-neg
65×sub-neg
51×associate-*l*
40×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
043490
188482
2138482
3233474
4407474
5719474
6984474
71187474
81304474
91338474
101362474
Stop Event
saturated
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) cosTheta_i)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u1)))
Outputs
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 u1 (neg.f32 (+.f32 u1 #s(literal 1 binary32))))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 u1 (+.f32 (neg.f32 u1) #s(literal -1 binary32)))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 u1 (-.f32 #s(literal -1 binary32) u1))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 (neg.f32 u1) (-.f32 #s(literal 1 binary32) (neg.f32 u1)))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (neg.f32 (+.f32 u1 #s(literal 1 binary32))))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 u1 (+.f32 (neg.f32 u1) #s(literal -1 binary32)))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (neg.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal -1 binary32) u1)))))
(neg.f32 (*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) (neg.f32 u2)))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (neg.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2))))
(*.f32 (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)))
(*.f32 (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u2)) (sqrt.f32 (/.f32 cosTheta_i (-.f32 #s(literal 1 binary32) cosTheta_i))))
(*.f32 (sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) cosTheta_i)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (cos.f32 (*.f32 #s(literal 314159265359/50000000000 binary32) u1)))
(*.f32 (sqrt.f32 (/.f32 u2 (-.f32 #s(literal 1 binary32) u2))) (cos.f32 (*.f32 u1 #s(literal 314159265359/50000000000 binary32))))
Symmetry

(abs cosTheta_i)

(abs u2)

Compiler

Compiled 41 to 28 computations (31.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
Operation ival-mult, time spent: 15.0ms, 35.0% of total-time
Operation ival-cos, time spent: 8.0ms, 19.0% of total-time
Operation ival-sub, time spent: 6.0ms, 14.0% of total-time
Operation ival-div, time spent: 6.0ms, 14.0% of total-time
Operation ival-sqrt, time spent: 5.0ms, 12.0% of total-time
Operation const, time spent: 2.0ms, 5.0% of total-time

end0.0ms (0%)

Profiling

Loading profile data...