Beckmann Distribution sample, tan2theta, alphax != alphay, u1 <= 0.5

Time bar (total: 9.2s)

analyze864.0ms (9.4%)

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
25%0%0%100%0%0%0%5
37.5%0%0%100%0%0%0%6
37.5%0%0%100%0%0%0%7
37.5%0%0%100%0%0%0%8
56.3%0%0%100%0%0%0%9
65.6%0%0%100%0%0%0%10
70.3%0%0%100%0%0%0%11
70.3%0%0%100%0%0%0%12
Compiler

Compiled 57 to 41 computations (28.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 221.0ms
Operation ival-<=, time spent: 74.0ms, 33.0% of total-time
Operation ival-log, time spent: 51.0ms, 23.0% of total-time
Operation ival-div, time spent: 30.0ms, 14.0% of total-time
Operation ival-mult, time spent: 19.0ms, 9.0% of total-time
Operation ival-sub, time spent: 14.0ms, 6.0% of total-time
Operation ival-and, time spent: 12.0ms, 5.0% of total-time
Operation ival-add, time spent: 7.0ms, 3.0% of total-time
Operation const, time spent: 7.0ms, 3.0% of total-time
Operation ival-neg, time spent: 6.0ms, 3.0% of total-time

sample3.2s (34.3%)

Results
2.8s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
Operation ival-<=, time spent: 301.0ms, 23.0% of total-time
Operation ival-log, time spent: 228.0ms, 17.0% of total-time
Operation ival-div, time spent: 190.0ms, 14.0% of total-time
Operation ival-sub, time spent: 163.0ms, 12.0% of total-time
Operation ival-add, time spent: 134.0ms, 10.0% of total-time
Operation ival-mult, time spent: 117.0ms, 9.0% of total-time
Operation ival-and, time spent: 84.0ms, 6.0% of total-time
Operation const, time spent: 57.0ms, 4.0% of total-time
Operation ival-neg, time spent: 39.0ms, 3.0% of total-time
Bogosity

preprocess2.7s (29.5%)

Algorithm
egg-herbie
Rules
639×times-frac
563×fma-def
477×unsub-neg
438×distribute-lft-neg-in
436×associate-/r*
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
00-0-(/.f32 sin2phi (*.f32 alphay alphay))
00-0-alphay
00-0-cos2phi
00-0-u0
00-0-alphax
00-0-(neg.f32 (log.f32 (-.f32 1 u0)))
00-0-(/.f32 cos2phi (*.f32 alphax alphax))
00-0-sin2phi
00-0-(log.f32 (-.f32 1 u0))
00-0-(-.f32 1 u0)
00-0-(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
00-0-1
00-0-(*.f32 alphax alphax)
00-0-(*.f32 alphay alphay)
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0991620
12431520
24661520
311411504
435961504
565821504
Stop Event
node limit
Calls
Call 1
Inputs
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay))))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphax))) (+.f32 (/.f32 cos2phi (*.f32 u0 u0)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphax (*.f32 cos2phi cos2phi)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 alphax (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphay (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 alphay (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 cos2phi))) (+.f32 (/.f32 u0 (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 sin2phi))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphay alphay))))
Outputs
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 (neg.f32 sin2phi) alphay) alphay)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 (neg.f32 alphax) (neg.f32 alphax))) (/.f32 sin2phi (*.f32 alphay alphay)))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 (neg.f32 alphay) (neg.f32 alphay))))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0)))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (neg.f32 (log.f32 (-.f32 1 (neg.f32 u0))))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 u0) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 (neg.f32 sin2phi) alphay) alphay)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(neg.f32 (/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (neg.f32 sin2phi) (*.f32 alphay alphay)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 (neg.f32 cos2phi) (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (-.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphax))) (+.f32 (/.f32 cos2phi (*.f32 u0 u0)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphax))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphax))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 cos2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphax (*.f32 cos2phi cos2phi)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 alphax (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 alphax (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 alphax (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 alphax (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 sin2phi sin2phi)) (/.f32 (/.f32 alphax alphay) alphay)))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi u0) u0)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 (/.f32 sin2phi u0) u0)))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 alphay (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 alphay (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 cos2phi cos2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 alphay (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 alphay (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 cos2phi))) (+.f32 (/.f32 u0 (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 cos2phi))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 u0 (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 cos2phi))) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 u0 (*.f32 alphax alphax))))
(neg.f32 (/.f32 (log1p.f32 (neg.f32 cos2phi)) (+.f32 (/.f32 sin2phi (*.f32 alphay alphay)) (/.f32 u0 (*.f32 alphax alphax)))))
(/.f32 (log1p.f32 (neg.f32 cos2phi)) (-.f32 (/.f32 sin2phi (*.f32 alphay (neg.f32 alphay))) (/.f32 u0 (*.f32 alphax alphax))))
(/.f32 (log1p.f32 (neg.f32 cos2phi)) (-.f32 (/.f32 (/.f32 u0 (neg.f32 alphax)) alphax) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 sin2phi))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 sin2phi))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (log1p.f32 (neg.f32 sin2phi)) (-.f32 (/.f32 (/.f32 cos2phi (neg.f32 alphax)) alphax) (/.f32 u0 (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 sin2phi (*.f32 alphax alphax)) (/.f32 cos2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax))))
Symmetry

(abs alphax)

(abs alphay)

Compiler

Compiled 158 to 67 computations (57.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.4s
Operation ival-log, time spent: 935.0ms, 65.0% of total-time
Operation ival-sub, time spent: 237.0ms, 16.0% of total-time
Operation ival-div, time spent: 105.0ms, 7.0% of total-time
Operation ival-add, time spent: 59.0ms, 4.0% of total-time
Operation ival-mult, time spent: 51.0ms, 4.0% of total-time
Operation ival-neg, time spent: 36.0ms, 2.0% of total-time
Operation const, time spent: 18.0ms, 1.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 21 to 14 computations (33.3% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.2%
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
62.7%
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 43 to 29 computations (32.6% saved)

localize2.2s (24.2%)

Compiler

Compiled 125 to 30 computations (76% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.3s
Operation ival-sub, time spent: 453.0ms, 35.0% of total-time
Operation ival-log, time spent: 421.0ms, 33.0% of total-time
Operation ival-log1p, time spent: 247.0ms, 19.0% of total-time
Operation ival-div, time spent: 63.0ms, 5.0% of total-time
Operation ival-neg, time spent: 39.0ms, 3.0% of total-time
Operation ival-mult, time spent: 30.0ms, 2.0% of total-time
Operation ival-add, time spent: 29.0ms, 2.0% of total-time
Operation const, time spent: 10.0ms, 1.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done000
Total022
Accuracy
98.2%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.2%
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
62.7%
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 81 to 48 computations (40.7% saved)

regimes46.0ms (0.5%)

Accuracy

Total -11.4b remaining (-1984.1%)

Threshold costs -11.4b (-1984.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Outputs
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Calls

14 calls:

5.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
4.0ms
alphax
4.0ms
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
3.0ms
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
3.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
Results
AccuracySegmentsBranch
98.2%1alphax
98.2%1alphay
98.2%1u0
98.2%1cos2phi
98.2%1sin2phi
98.2%1(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
98.2%1(neg.f32 (log.f32 (-.f32 1 u0)))
98.2%1(log.f32 (-.f32 1 u0))
98.2%1(-.f32 1 u0)
98.2%1(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
98.2%1(/.f32 cos2phi (*.f32 alphax alphax))
98.2%1(*.f32 alphax alphax)
98.2%1(/.f32 sin2phi (*.f32 alphay alphay))
98.2%1(*.f32 alphay alphay)
Compiler

Compiled 131 to 100 computations (23.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative
sub-neg
neg-mul-1
*-commutative
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02370
13270
23870
34270
44370
Stop Event
done
saturated
Calls
Call 1
Inputs
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Outputs
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 21 to 14 computations (33.3% saved)

soundness163.0ms (1.8%)

Rules
639×times-frac
563×fma-def
477×unsub-neg
438×distribute-lft-neg-in
436×associate-/r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0991620
12431520
24661520
311411504
435961504
565821504
Stop Event
node limit
Compiler

Compiled 56 to 24 computations (57.1% saved)

end0.0ms (0%)

preprocess27.0ms (0.3%)

Remove

(abs alphay)

(abs alphax)

Compiler

Compiled 254 to 170 computations (33.1% saved)

Profiling

Loading profile data...