_divideComplex, real part

Time bar (total: 8.9s)

analyze86.0ms (1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
75%74.9%25%0.2%0%0%0%5
75%74.9%25%0.2%0%0%0%6
75%74.9%25%0.2%0%0%0%7
87.5%87.3%12.5%0.2%0%0%0%8
93.8%93.6%6.2%0.2%0%0%0%9
93.8%93.6%6.2%0.2%0%0%0%10
93.8%93.6%6.2%0.2%0%0%0%11
96.9%96.7%3.1%0.2%0%0%0%12
Compiler

Compiled 20 to 12 computations (40% saved)

sample8.3s (92.8%)

Results
1.5s8256×0valid-rival
921.0ms8214×0valid-sollya
210.0ms42×0exit-sollya
Bogosity

preprocess509.0ms (5.7%)

Algorithm
egg-herbie
Rules
1573×fma-neg
912×fma-define
864×times-frac
552×div-sub
333×unsub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070976
1162976
2263976
3486976
41176976
53121976
64441976
75612976
86468976
96875976
107003976
117173976
127627976
137627976
147627976
157627976
167987976
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 (neg.f64 x.im) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re (neg.f64 y.re)) (*.f64 x.im y.im)) (+.f64 (*.f64 (neg.f64 y.re) (neg.f64 y.re)) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im (neg.f64 y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 (neg.f64 y.im) (neg.f64 y.im))))
(neg.f64 (/.f64 (+.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(neg.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 (neg.f64 x.im) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(neg.f64 (/.f64 (+.f64 (*.f64 x.re (neg.f64 y.re)) (*.f64 x.im y.im)) (+.f64 (*.f64 (neg.f64 y.re) (neg.f64 y.re)) (*.f64 y.im y.im))))
(neg.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im (neg.f64 y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 (neg.f64 y.im) (neg.f64 y.im)))))
(/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)) (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.im y.re) (*.f64 x.im x.re)) (+.f64 (*.f64 y.re y.re) (*.f64 x.re x.re)))
(/.f64 (+.f64 (*.f64 x.re x.im) (*.f64 y.re y.im)) (+.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
Outputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 (neg.f64 x.im) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im (neg.f64 y.im))) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re (neg.f64 y.re)) (*.f64 x.im y.im)) (+.f64 (*.f64 (neg.f64 y.re) (neg.f64 y.re)) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im (neg.f64 y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 (neg.f64 y.im) (neg.f64 y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im (neg.f64 y.im))) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(neg.f64 (/.f64 (+.f64 (*.f64 (neg.f64 x.re) y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im (neg.f64 y.im))) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(neg.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 (neg.f64 x.im) y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(neg.f64 (/.f64 (+.f64 (*.f64 x.re (neg.f64 y.re)) (*.f64 x.im y.im)) (+.f64 (*.f64 (neg.f64 y.re) (neg.f64 y.re)) (*.f64 y.im y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im (neg.f64 y.im))) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(neg.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im (neg.f64 y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 (neg.f64 y.im) (neg.f64 y.im)))))
(/.f64 (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.im (*.f64 y.re x.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)) (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 x.re x.re (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.im y.im (*.f64 x.re x.re)))
(/.f64 (+.f64 (*.f64 y.im y.re) (*.f64 x.im x.re)) (+.f64 (*.f64 y.re y.re) (*.f64 x.re x.re)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 y.re y.re (*.f64 x.re x.re)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 x.re x.re (*.f64 y.re y.re)))
(/.f64 (+.f64 (*.f64 x.re x.im) (*.f64 y.re y.im)) (+.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 x.im x.im (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 y.im y.im (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(/.f64 (fma.f64 x.re y.im (*.f64 y.re x.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 19 to 11 computations (42.1% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 38 to 22 computations (42.1% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01867
12267
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Outputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 19 to 11 computations (42.1% saved)

preprocess43.0ms (0.5%)

Compiler

Compiled 76 to 44 computations (42.1% saved)

end0.0ms (0%)

Profiling

Loading profile data...