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

Time bar (total: 10.7s)

analyze750.0ms (7%)

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: 215.0ms
Operation ival-<=, time spent: 63.0ms, 29.0% of total-time
Operation ival-sub, time spent: 37.0ms, 17.0% of total-time
Operation ival-log, time spent: 32.0ms, 15.0% of total-time
Operation ival-div, time spent: 26.0ms, 12.0% of total-time
Operation ival-mult, time spent: 22.0ms, 10.0% of total-time
Operation ival-and, time spent: 11.0ms, 5.0% of total-time
Operation ival-add, time spent: 9.0ms, 4.0% of total-time
Operation ival-neg, time spent: 7.0ms, 3.0% of total-time
Operation const, time spent: 7.0ms, 3.0% of total-time

sample4.4s (41.6%)

Results
4.1s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 1.7s
Operation ival-<=, time spent: 443.0ms, 26.0% of total-time
Operation ival-div, time spent: 289.0ms, 17.0% of total-time
Operation ival-log, time spent: 262.0ms, 15.0% of total-time
Operation ival-sub, time spent: 194.0ms, 11.0% of total-time
Operation ival-add, time spent: 148.0ms, 9.0% of total-time
Operation ival-mult, time spent: 137.0ms, 8.0% of total-time
Operation ival-and, time spent: 109.0ms, 6.0% of total-time
Operation const, time spent: 79.0ms, 5.0% of total-time
Operation ival-neg, time spent: 53.0ms, 3.0% of total-time
Bogosity

preprocess2.5s (23.8%)

Algorithm
egg-herbie
Rules
1638×fma-neg
629×times-frac
486×div-sub
423×sub-neg
333×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: 1 (0.0ms)

IterNodesCost
0991620
12541504
25271504
313711504
440901504
556561504
663961504
766121504
869971504
977101504
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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi 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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi 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 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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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 (log1p.f32 u0) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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 (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 (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)))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (neg.f32 (+.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))))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (neg.f32 (+.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 (log.f32 (-.f32 1 (neg.f32 u0)))) (neg.f32 (+.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 (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 (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 (log1p.f32 (neg.f32 u0)) (neg.f32 (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphay (neg.f32 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 (log1p.f32 (neg.f32 alphax)) (neg.f32 (+.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 (log1p.f32 (neg.f32 alphax)) (-.f32 (/.f32 sin2phi (*.f32 alphay (neg.f32 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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 sin2phi (*.f32 alphay (neg.f32 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 (log1p.f32 (neg.f32 u0)) (neg.f32 (+.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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 alphax (*.f32 alphay (neg.f32 alphay))) (/.f32 cos2phi (*.f32 sin2phi sin2phi))))
(/.f32 (neg.f32 (log.f32 (-.f32 1 alphay))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0))))
(/.f32 (log1p.f32 (neg.f32 alphay)) (neg.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 u0 u0)))))
(/.f32 (log1p.f32 (neg.f32 alphay)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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 (log1p.f32 (neg.f32 u0)) (neg.f32 (+.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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (neg.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 (log1p.f32 (neg.f32 u0)) (neg.f32 (+.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 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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 (log1p.f32 (neg.f32 cos2phi)) (neg.f32 (+.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 (/.f32 u0 alphax) (neg.f32 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 (log1p.f32 (neg.f32 sin2phi)) (neg.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 u0 (*.f32 alphay alphay)))))
(/.f32 (log1p.f32 (neg.f32 sin2phi)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 alphax)) (/.f32 (/.f32 u0 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 (log1p.f32 (neg.f32 u0)) (neg.f32 (+.f32 (/.f32 cos2phi (*.f32 alphay alphay)) (/.f32 sin2phi (*.f32 alphax alphax)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 cos2phi (*.f32 alphay (neg.f32 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: 818.0ms
Operation ival-sub, time spent: 256.0ms, 31.0% of total-time
Operation ival-log, time spent: 248.0ms, 30.0% of total-time
Operation ival-div, time spent: 101.0ms, 12.0% of total-time
Operation ival-add, time spent: 77.0ms, 9.0% of total-time
Operation ival-mult, time spent: 56.0ms, 7.0% of total-time
Operation ival-neg, time spent: 54.0ms, 7.0% of total-time
Operation const, time spent: 25.0ms, 3.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 37 to 19 computations (48.6% saved)

prune2.0ms (0%)

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

Compiled 64 to 43 computations (32.8% saved)

localize2.2s (20.4%)

Compiler

Compiled 182 to 35 computations (80.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 696.0ms
Operation ival-log, time spent: 175.0ms, 25.0% of total-time
Operation ival-sub, time spent: 152.0ms, 22.0% of total-time
Operation ival-div, time spent: 116.0ms, 17.0% of total-time
Operation composed, time spent: 90.0ms, 13.0% of total-time
Operation ival-add, time spent: 64.0ms, 9.0% of total-time
Operation ival-neg, time spent: 56.0ms, 8.0% of total-time
Operation ival-mult, time spent: 28.0ms, 4.0% of total-time
Operation const, time spent: 15.0ms, 2.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked033
Done000
Total033
Accuracy
98.6%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(/.f32 (neg.f32 (log1p.f32 (neg.f32 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
61.0%
(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
98.4%
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 118 to 67 computations (43.2% saved)

regimes51.0ms (0.5%)

Counts
3 → 1
Calls
Call 1
Inputs
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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))))
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
cos2phi
5.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
4.0ms
(-.f32 1 u0)
3.0ms
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
3.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
Results
AccuracySegmentsBranch
98.5%1alphax
98.5%1alphay
98.5%1u0
98.5%1cos2phi
98.5%1sin2phi
98.5%1(/.f32 (neg.f32 (log.f32 (-.f32 1 u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
98.5%1(neg.f32 (log.f32 (-.f32 1 u0)))
98.5%1(log.f32 (-.f32 1 u0))
98.5%1(-.f32 1 u0)
98.5%1(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))
98.5%1(/.f32 cos2phi (*.f32 alphax alphax))
98.5%1(*.f32 alphax alphax)
98.5%1(/.f32 sin2phi (*.f32 alphay alphay))
98.5%1(*.f32 alphay alphay)
Compiler

Compiled 131 to 100 computations (23.7% saved)

regimes20.0ms (0.2%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

7 calls:

4.0ms
alphax
4.0ms
(*.f32 alphay alphay)
3.0ms
alphay
3.0ms
(/.f32 sin2phi (*.f32 alphay alphay))
3.0ms
sin2phi
Results
AccuracySegmentsBranch
98.4%1alphax
98.4%1alphay
98.4%1u0
98.4%1cos2phi
98.4%1sin2phi
98.4%1(/.f32 sin2phi (*.f32 alphay alphay))
98.4%1(*.f32 alphay alphay)
Compiler

Compiled 48 to 38 computations (20.8% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×+-commutative
17×sub-neg
16×*-commutative
16×neg-sub0
16×neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028140
143140
266140
399140
4126140
5143140
6149140
7150140
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))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 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))))
(/.f32 (log1p.f32 (neg.f32 u0)) (neg.f32 (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))))
(/.f32 (log1p.f32 (neg.f32 u0)) (-.f32 (/.f32 (/.f32 cos2phi alphax) (neg.f32 alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))
Compiler

Compiled 42 to 28 computations (33.3% saved)

soundness635.0ms (6%)

Rules
1638×fma-neg
1638×fma-neg
629×times-frac
629×times-frac
486×div-sub
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0991620
12541504
25271504
313711504
440901504
556561504
663961504
766121504
869971504
977101504
0991620
12541504
25271504
313711504
440901504
556561504
663961504
766121504
869971504
977101504
Stop Event
node limit
node limit
Compiler

Compiled 394 to 133 computations (66.2% saved)

end0.0ms (0%)

preprocess36.0ms (0.3%)

Remove

(abs alphay)

(abs alphax)

Compiler

Compiled 370 to 236 computations (36.2% saved)

Profiling

Loading profile data...