Details

Time bar (total: 3.0s)

analyze450.0ms (15.2%)

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
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
14.1%14%85.8%0.2%0%0%0%11
19.6%18.7%76.8%0.2%4.3%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.4s (46.1%)

Results
1.1s8256×body256valid
252.0ms2068×body256infinite
Bogosity

preprocess93.0ms (3.1%)

Algorithm
egg-herbie
Rules
1246×rational_best-simplify-56
1182×rational_best-simplify-3
1156×rational_best-simplify-62
1090×rational_best-simplify-1
916×rational_best-simplify-108
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023133
139133
258133
378133
4136133
5289133
6875133
74165133
044
144
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
1
3
0
Call 2
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.re y.im) (*.f64 x.im x.re))
(+.f64 (*.f64 y.im x.re) (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 y.im y.re))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.re y.im) (*.f64 x.im x.re))
(+.f64 (*.f64 x.re x.im) (*.f64 y.im y.re))
(+.f64 (*.f64 y.im x.re) (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.re x.im) (*.f64 y.im y.re))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
Symmetry

(sort x.re y.im)

(sort x.im y.re)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify50.0ms (1.7%)

Algorithm
egg-herbie
Rules
1316×rational_best-simplify-48
1004×rational_best-simplify-52
984×rational_best-simplify-47
932×rational_best-simplify-51
874×rational_best-simplify-65
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11519
22219
33019
44819
59519
626519
7109719
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series3.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
x.re
@0
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
0.0ms
x.im
@0
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
0.0ms
x.re
@-inf
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
0.0ms
x.re
@inf
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
0.0ms
x.im
@-inf
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))

rewrite159.0ms (5.4%)

Algorithm
batch-egg-rewrite
Rules
908×rational_best-simplify-1
756×rational_best-simplify-83
646×rational_best-simplify-47
542×rational_best-simplify-52
532×rational_best-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
16219
212919
333819
4125219
5757019
Stop Event
node limit
Counts
1 → 85
Calls
Call 1
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re y.im) (-.f64 (*.f64 x.im y.re) (*.f64 x.im (+.f64 y.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re y.im) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (neg.f64 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im y.re) (*.f64 y.im (neg.f64 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im y.re) (-.f64 (*.f64 y.im (*.f64 x.re -2)) (*.f64 y.im (neg.f64 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im y.re) (+.f64 (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im y.re) (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (*.f64 x.im y.re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (*.f64 x.re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (+.f64 y.im y.im)) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (+.f64 y.im y.im)) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 y.re y.re))) (*.f64 x.im y.re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (/.f64 (*.f64 x.im y.re) -2) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (/.f64 (*.f64 x.im y.re) -2) (*.f64 y.im (neg.f64 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) (/.f64 (*.f64 x.im y.re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (-.f64 (*.f64 x.im (neg.f64 y.re)) (*.f64 x.re (+.f64 y.im y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 y.im 1/2)) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 (*.f64 x.re (*.f64 y.im 1/2)) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 x.im (neg.f64 y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 y.im 1/2)) (/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im (+.f64 y.re y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.re (*.f64 x.im 4)) (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (/.f64 (*.f64 x.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (/.f64 (*.f64 x.im y.re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))) (/.f64 (*.f64 x.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (-.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (/.f64 (*.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x.im y.re) 4) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (*.f64 y.im (neg.f64 x.re)) (/.f64 (*.f64 x.im y.re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x.re y.im) 4) (*.f64 x.re (*.f64 y.im 1/2))) (-.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (neg.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))) (/.f64 (*.f64 x.im y.re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (/.f64 (*.f64 x.im y.re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 y.im (neg.f64 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 y.im (*.f64 x.re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 (*.f64 x.re (*.f64 y.im 1/2)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (/.f64 (*.f64 x.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2)) (/.f64 (*.f64 x.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 (*.f64 x.im y.re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 3) 4) (/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) -2) (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) 2) (/.f64 (+.f64 (*.f64 (*.f64 y.re (*.f64 x.im 1/2)) -3) (/.f64 (*.f64 x.re y.im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 y.re (*.f64 x.im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 x.im y.re)) (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 x.re (*.f64 y.im 1/2))) (-.f64 (/.f64 (*.f64 x.im y.re) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y.re (*.f64 2 (*.f64 x.im 4))) (*.f64 y.im (*.f64 (+.f64 x.re x.re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 y.re 4) (*.f64 x.im 4)) (*.f64 (*.f64 y.im 4) (*.f64 x.re 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y.im (*.f64 (+.f64 x.re x.re) 4)) (*.f64 y.re (*.f64 2 (*.f64 x.im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 y.im 4) (*.f64 x.re 4)) (*.f64 (*.f64 y.re 4) (*.f64 x.im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x.re (*.f64 y.im 4)) (neg.f64 (*.f64 y.re (*.f64 x.im 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y.re (*.f64 x.im 4)) (neg.f64 (*.f64 x.re (*.f64 y.im 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (*.f64 x.im y.re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (*.f64 x.re -2))))))))

simplify149.0ms (5%)

Algorithm
egg-herbie
Rules
822×rational_best-simplify-1
720×rational_best-simplify-57
664×rational_best-simplify-47
608×rational_best-simplify-52
578×rational_best-simplify-48
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02423255
16093237
216293145
375233145
Stop Event
node limit
Counts
133 → 121
Calls
Call 1
Inputs
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))
(-.f64 (*.f64 x.re y.im) (-.f64 (*.f64 x.im y.re) (*.f64 x.im (+.f64 y.re y.re))))
(-.f64 (*.f64 x.re y.im) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (neg.f64 x.re))))
(-.f64 (*.f64 x.im y.re) (*.f64 y.im (neg.f64 x.re)))
(-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))
(-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 y.im (*.f64 x.re -2)) (*.f64 y.im (neg.f64 x.re))))
(-.f64 (*.f64 x.im y.re) (+.f64 (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) 0))
(-.f64 (*.f64 x.im y.re) (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 0)
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)))
(-.f64 0 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))
(-.f64 0 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (*.f64 x.im y.re) -2)))
(-.f64 0 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (*.f64 x.re -2))))
(-.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(-.f64 (*.f64 x.re (+.f64 y.im y.im)) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))))
(-.f64 (*.f64 x.re (+.f64 y.im y.im)) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) 0))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 y.re y.re))) (*.f64 x.im y.re))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (/.f64 (*.f64 x.im y.re) -2) (*.f64 x.re y.im)))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (/.f64 (*.f64 x.im y.re) -2) (*.f64 y.im (neg.f64 x.re))))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) (/.f64 (*.f64 x.im y.re) -2)))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (-.f64 (*.f64 x.im (neg.f64 y.re)) (*.f64 x.re (+.f64 y.im y.im))) 2))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 x.im y.re)))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 (*.f64 x.re (*.f64 y.im 1/2)) -3)))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 x.im (neg.f64 y.re))))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im (+.f64 y.re y.re))) 2))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2))
(-.f64 (*.f64 y.re (*.f64 x.im 4)) (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.re y.re))))
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
(-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (/.f64 (*.f64 x.im y.re) -2))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.im y.re)))
(-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))) (/.f64 (*.f64 x.re y.im) -2))
(-.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(-.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(-.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (-.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (/.f64 (*.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) -3) 2))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 x.im y.re) 4) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (*.f64 y.im (neg.f64 x.re)) (/.f64 (*.f64 x.im y.re) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.im) 4) (*.f64 x.re (*.f64 y.im 1/2))) (-.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (neg.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(-.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))) (/.f64 (*.f64 x.im y.re) -2))
(-.f64 (-.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (/.f64 (*.f64 x.im y.re) -2))
(-.f64 (-.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 y.im (neg.f64 x.re)))
(-.f64 (neg.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 y.im (*.f64 x.re -2)))
(-.f64 (-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 (*.f64 x.re (*.f64 y.im 1/2)) -3))
(-.f64 (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (/.f64 (*.f64 x.re y.im) -2))
(-.f64 (-.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(-.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2)) (/.f64 (*.f64 x.re y.im) -2))
(-.f64 (neg.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 (*.f64 x.im y.re) -2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 3) 4) (/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) 4))
(-.f64 (/.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) -2) (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) 2) (/.f64 (+.f64 (*.f64 (*.f64 y.re (*.f64 x.im 1/2)) -3) (/.f64 (*.f64 x.re y.im) -2)) 2))
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 y.re (*.f64 x.im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 x.re y.im)) 2))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 x.im y.re)) (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 x.re (*.f64 y.im 1/2))) (-.f64 (/.f64 (*.f64 x.im y.re) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)
(*.f64 1 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))
(*.f64 -1 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2))
(*.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) -1)
(*.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4))
(*.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) 1/8)
(*.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1/2) 2)
(*.f64 1/8 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) 2)
(/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) -1)
(/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4))) 16)
(/.f64 (+.f64 (*.f64 y.re (*.f64 2 (*.f64 x.im 4))) (*.f64 y.im (*.f64 (+.f64 x.re x.re) 4))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 y.re 4) (*.f64 x.im 4)) (*.f64 (*.f64 y.im 4) (*.f64 x.re 4))) 16)
(/.f64 (+.f64 (*.f64 y.im (*.f64 (+.f64 x.re x.re) 4)) (*.f64 y.re (*.f64 2 (*.f64 x.im 4)))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 y.im 4) (*.f64 x.re 4)) (*.f64 (*.f64 y.re 4) (*.f64 x.im 4))) 16)
(/.f64 (-.f64 (*.f64 x.re (*.f64 y.im 4)) (neg.f64 (*.f64 y.re (*.f64 x.im 4)))) 4)
(/.f64 (-.f64 (*.f64 y.re (*.f64 x.im 4)) (neg.f64 (*.f64 x.re (*.f64 y.im 4)))) 4)
(pow.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)
(neg.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))
(neg.f64 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (*.f64 x.im y.re) -2)))
(neg.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (*.f64 x.re -2))))
Outputs
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re y.im) (-.f64 (*.f64 x.im y.re) (*.f64 x.im (+.f64 y.re y.re))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re y.im) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (neg.f64 x.re))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.im y.re) (*.f64 y.im (neg.f64 x.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 y.im (*.f64 x.re -2)) (*.f64 y.im (neg.f64 x.re))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.im y.re) (+.f64 (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) 0))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.im y.re) (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 0)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 0 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 0 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (*.f64 x.im y.re) -2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 0 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (*.f64 x.re -2))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re (+.f64 y.im y.im)) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re (+.f64 y.im y.im)) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) 0))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (+.f64 y.re y.re))) (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (/.f64 (*.f64 x.im y.re) -2) (*.f64 x.re y.im)))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (/.f64 (*.f64 x.im y.re) -2) (*.f64 y.im (neg.f64 x.re))))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))) (/.f64 (*.f64 x.im y.re) -2)))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (-.f64 (*.f64 x.im (neg.f64 y.re)) (*.f64 x.re (+.f64 y.im y.im))) 2))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 x.im y.re)))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 y.re x.im)))
(-.f64 (*.f64 y.re x.im) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 y.im (*.f64 1/2 x.re))))
(-.f64 (*.f64 y.re x.im) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 y.im (*.f64 x.re 1/2))))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 (*.f64 x.re (*.f64 y.im 1/2)) -3)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 x.im (neg.f64 y.re))))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (*.f64 y.im (*.f64 1/2 x.re)) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2)))
(+.f64 (/.f64 (*.f64 x.re y.im) 2) (+.f64 (*.f64 y.re x.im) (*.f64 y.im (*.f64 x.re 1/2))))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im (+.f64 y.re y.re))) 2))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 y.re x.im)))
(-.f64 (*.f64 y.re x.im) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 y.im (*.f64 1/2 x.re))))
(-.f64 (*.f64 y.re x.im) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 y.im (*.f64 x.re 1/2))))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (*.f64 y.re (*.f64 x.im 4)) (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 x.im (+.f64 y.re y.re))))
(-.f64 (*.f64 y.re (*.f64 x.im 4)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))
(+.f64 (-.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) (*.f64 x.im (-.f64 (*.f64 y.re 4) (+.f64 y.re y.re))))
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2))))
(+.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (/.f64 (*.f64 x.im y.re) -2))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))) (/.f64 (*.f64 x.re y.im) -2))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (*.f64 y.im (*.f64 1/2 x.re)) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2)))
(+.f64 (/.f64 (*.f64 x.re y.im) 2) (+.f64 (*.f64 y.re x.im) (*.f64 y.im (*.f64 x.re 1/2))))
(-.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(-.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2)))
(-.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re (*.f64 3 x.im)) 2)))
(-.f64 (/.f64 (*.f64 y.re (*.f64 x.im 3)) 2) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(-.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (-.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (/.f64 (*.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) -3) 2))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 4) (/.f64 (*.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 2) -3) 2))
(/.f64 (-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) (*.f64 -3 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)))) 4)
(/.f64 (-.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) -3)) 4)
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.im y.re) 4) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (*.f64 y.im (neg.f64 x.re)) (/.f64 (*.f64 x.im y.re) 4)))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.im) 4) (*.f64 x.re (*.f64 y.im 1/2))) (-.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) 4)))
(-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (*.f64 y.im (*.f64 1/2 x.re)) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2)))
(+.f64 (/.f64 (*.f64 x.re y.im) 2) (+.f64 (*.f64 y.re x.im) (*.f64 y.im (*.f64 x.re 1/2))))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) (neg.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (*.f64 x.im y.re) (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))) (/.f64 (*.f64 x.im y.re) -2))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (-.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (/.f64 (*.f64 x.im y.re) -2))
(-.f64 (/.f64 (*.f64 x.im (*.f64 y.re 3)) 2) (+.f64 (/.f64 (*.f64 y.re x.im) -2) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))
(-.f64 (/.f64 (*.f64 y.re (*.f64 3 x.im)) 2) (+.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (/.f64 (*.f64 y.re x.im) -2)))
(+.f64 (-.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) (-.f64 (/.f64 (*.f64 y.re (*.f64 x.im 3)) 2) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (-.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 y.im (neg.f64 x.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (neg.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 y.im (*.f64 x.re -2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (-.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (*.f64 (*.f64 x.re (*.f64 y.im 1/2)) -3))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re)))) (/.f64 (*.f64 x.re y.im) -2))
(-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im (neg.f64 y.re)) (/.f64 (*.f64 x.re y.im) -2))))
(+.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2) (/.f64 (*.f64 x.re y.im) -2)))
(-.f64 (-.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2)) (/.f64 (*.f64 x.re y.im) -2))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (neg.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 (*.f64 x.im y.re) -2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) -2) 2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 3) 4) (/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) 4))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (/.f64 (+.f64 (*.f64 x.im y.re) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 x.im y.re) -2) (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 y.re x.im) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 2)) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (/.f64 (*.f64 x.re (*.f64 y.im 3)) 2))) 2)
(-.f64 (/.f64 (*.f64 x.re (*.f64 y.im 3)) 4) (/.f64 (+.f64 (*.f64 y.re (neg.f64 x.im)) (neg.f64 (+.f64 (*.f64 y.re x.im) (/.f64 (*.f64 x.re y.im) 2)))) 2))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2)) 2) (/.f64 (+.f64 (*.f64 (*.f64 y.re (*.f64 x.im 1/2)) -3) (/.f64 (*.f64 x.re y.im) -2)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 x.re y.im) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 2)) (+.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 (*.f64 y.re (*.f64 x.im 1/2)) -3))) 2)
(/.f64 (-.f64 (+.f64 (*.f64 x.re y.im) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 2)) (+.f64 (/.f64 (*.f64 x.re y.im) -2) (*.f64 (*.f64 y.re x.im) -3/2))) 2)
(/.f64 (+.f64 (-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 x.re y.im))) (neg.f64 (*.f64 (*.f64 y.re x.im) -3/2))) 2)
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 y.re (*.f64 x.im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 x.re y.im)) 2))
(-.f64 (/.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) (*.f64 y.re (*.f64 x.im 4))) 4) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2) (*.f64 x.re y.im)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 y.re x.im) (*.f64 y.re (*.f64 x.im 4)))) 4) (-.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 4) (/.f64 (*.f64 x.re y.im) 2)))
(-.f64 (/.f64 (*.f64 x.re y.im) 2) (/.f64 (-.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (+.f64 (*.f64 x.re y.im) (*.f64 y.re (+.f64 x.im (*.f64 x.im 4))))) 4))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 x.im y.re)) (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 y.re (*.f64 x.im 1/2))) (-.f64 (/.f64 (*.f64 x.re y.im) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(-.f64 (*.f64 x.re y.im) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 x.re y.im) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (/.f64 (*.f64 y.re x.im) -2)))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) (*.f64 x.re (*.f64 y.im 1/2))) (-.f64 (/.f64 (*.f64 x.im y.re) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(-.f64 (+.f64 (*.f64 x.re (*.f64 y.im 1/2)) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 4)) (-.f64 (/.f64 (*.f64 y.re x.im) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 4)))
(-.f64 (*.f64 y.im (*.f64 1/2 x.re)) (+.f64 (-.f64 (/.f64 (*.f64 y.re x.im) -2) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) 4)) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) -4)))
(-.f64 (-.f64 (*.f64 y.im (*.f64 x.re 1/2)) (/.f64 (*.f64 y.re x.im) -2)) (/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im)) -2))
(*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 -1 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1/2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) 1/2)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) -1)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) 1/4)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) 1/8)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1/2) 2)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1/8 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 2) 2)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)) -1)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4) 4)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) 8)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 4))) 16)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 y.re (*.f64 2 (*.f64 x.im 4))) (*.f64 y.im (*.f64 (+.f64 x.re x.re) 4))) 8)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 (*.f64 y.re 4) (*.f64 x.im 4)) (*.f64 (*.f64 y.im 4) (*.f64 x.re 4))) 16)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 y.im (*.f64 (+.f64 x.re x.re) 4)) (*.f64 y.re (*.f64 2 (*.f64 x.im 4)))) 8)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 (*.f64 y.im 4) (*.f64 x.re 4)) (*.f64 (*.f64 y.re 4) (*.f64 x.im 4))) 16)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (-.f64 (*.f64 x.re (*.f64 y.im 4)) (neg.f64 (*.f64 y.re (*.f64 x.im 4)))) 4)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (-.f64 (*.f64 y.re (*.f64 x.im 4)) (neg.f64 (*.f64 x.re (*.f64 y.im 4)))) 4)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(pow.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) 1)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(neg.f64 (-.f64 (*.f64 y.im (neg.f64 x.re)) (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(neg.f64 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 (*.f64 x.im y.re) -2)))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(neg.f64 (+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im (neg.f64 y.re))) (*.f64 y.im (*.f64 x.re -2))))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))

eval28.0ms (0.9%)

Compiler

Compiled 2177 to 853 computations (60.8% saved)

prune18.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1183121
Fresh000
Picked011
Done000
Total1184122
Error
0b
Counts
122 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
0.0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
31.8b
(*.f64 y.re x.im)
29.4b
(*.f64 x.re y.im)
Compiler

Compiled 42 to 28 computations (33.3% saved)

localize4.0ms (0.1%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize6.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize13.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
Compiler

Compiled 43 to 17 computations (60.5% saved)

series3.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x.re
@inf
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
0.0ms
x.im
@0
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
0.0ms
x.re
@-inf
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
0.0ms
x.re
@0
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
0.0ms
y.im
@-inf
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))

rewrite94.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1148×rational_best-4
1148×rational_best-2
1148×rational_best-3
1148×rational_best-1
1148×exponential-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01337
18931
218723
360219
4305719
Stop Event
node limit
Counts
1 → 72
Calls
Call 1
Inputs
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (+.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (*.f64 x.re -2)) (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (neg.f64 y.im)) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 x.im (+.f64 y.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (+.f64 x.re x.re)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x.im y.re)) (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (neg.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re (neg.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 y.im (*.f64 x.re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -1) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 y.im (+.f64 x.re x.re))) (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.im y.re) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1)) (-.f64 1 (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 x.re y.im)) (+.f64 (*.f64 x.im y.re) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1) (+.f64 (*.f64 x.im y.re) (-.f64 1 (*.f64 x.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.im y.re) (-.f64 1 (*.f64 x.re y.im))) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 x.re y.im)) (+.f64 (*.f64 x.im y.re) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.im y.re) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re)))) (-.f64 -1 (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))) (*.f64 x.re (*.f64 y.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (*.f64 y.re (*.f64 x.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re)))) (*.f64 y.im (*.f64 x.re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.im (+.f64 x.re x.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 x.im y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (/.f64 x.re -2)) (-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (/.f64 x.re -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))) (*.f64 y.im (/.f64 x.re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (neg.f64 y.im))) (neg.f64 (*.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -2) (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2) (*.f64 y.im (/.f64 x.re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 y.im (*.f64 x.re -2))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 y.im (*.f64 x.re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 y.im (*.f64 x.re -2))) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re (neg.f64 y.im))) (*.f64 y.re (*.f64 x.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 x.re (neg.f64 y.im))) (-.f64 1 (neg.f64 (*.f64 x.im y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (*.f64 x.im y.re))) (-.f64 -1 (*.f64 x.re (neg.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (neg.f64 (*.f64 x.im y.re))) (-.f64 1 (*.f64 x.re (neg.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 x.re (neg.f64 y.im))) (-.f64 -1 (neg.f64 (*.f64 x.im y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x.re (*.f64 y.im 4)) (*.f64 4 (*.f64 x.im y.re))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x.re (*.f64 y.im 4)) (*.f64 4 (*.f64 x.im y.re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y.im (+.f64 x.re x.re)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im 4)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 y.im (+.f64 x.re x.re)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im 4)))) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)))))))

simplify110.0ms (3.7%)

Algorithm
egg-herbie
Rules
1730×rational_best-simplify-75
1672×rational_best-simplify-76
874×rational_best-simplify-3
680×rational_best-simplify-63
536×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01865088
14424256
29862568
333742532
Stop Event
node limit
Counts
120 → 103
Calls
Call 1
Inputs
(*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 y.im (*.f64 -2 y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 y.im (*.f64 -2 y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 y.im (*.f64 -2 y.im)))) (*.f64 y.re x.im))
(*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im)))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im))) (*.f64 y.re x.im))
(*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im)))
(+.f64 (*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im))) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re))))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re)))
(+.f64 (*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re))) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re))) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re))) (*.f64 y.re x.im))
(+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(+.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (+.f64 x.re x.re)))
(+.f64 (*.f64 y.im (*.f64 x.re -2)) (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re)))))
(+.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 0)
(+.f64 0 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(+.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (neg.f64 y.im)))
(+.f64 (*.f64 x.re (neg.f64 y.im)) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))))
(+.f64 (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 x.im (+.f64 y.re y.re)))
(+.f64 (*.f64 y.im (+.f64 x.re x.re)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(+.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))
(+.f64 (neg.f64 (*.f64 x.im y.re)) (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (neg.f64 y.im))))
(+.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))))
(+.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re (neg.f64 y.im))))
(+.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(+.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 y.im (*.f64 x.re -2))))
(+.f64 (/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -1) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re))))
(+.f64 (+.f64 1 (*.f64 y.im (+.f64 x.re x.re))) (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -1))
(+.f64 (+.f64 (*.f64 x.im y.re) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1)) (-.f64 1 (*.f64 x.re y.im)))
(+.f64 (-.f64 1 (*.f64 x.re y.im)) (+.f64 (*.f64 x.im y.re) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1)))
(+.f64 (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1) (+.f64 (*.f64 x.im y.re) (-.f64 1 (*.f64 x.re y.im))))
(+.f64 (+.f64 (*.f64 x.im y.re) (-.f64 1 (*.f64 x.re y.im))) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1))
(+.f64 (-.f64 -1 (*.f64 x.re y.im)) (+.f64 (*.f64 x.im y.re) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re)))))
(+.f64 (+.f64 (*.f64 x.im y.re) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re)))) (-.f64 -1 (*.f64 x.re y.im)))
(+.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))) (*.f64 x.re (*.f64 y.im 1/2)))
(+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (*.f64 y.re (*.f64 x.im 1/2)))
(+.f64 (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re)))) (*.f64 y.im (*.f64 x.re -2)))
(+.f64 (+.f64 (*.f64 y.im (+.f64 x.re x.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 x.im y.re))
(+.f64 (*.f64 y.im (/.f64 x.re -2)) (-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))))
(+.f64 (*.f64 y.im (/.f64 x.re -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2))
(+.f64 (-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))) (*.f64 y.im (/.f64 x.re -2)))
(+.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (neg.f64 y.im))) (neg.f64 (*.f64 x.im y.re)))
(+.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -2))
(+.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -2) (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(+.f64 (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2) (*.f64 y.im (/.f64 x.re -2)))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 y.im (*.f64 x.re -2))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 y.im (*.f64 x.re -2))))
(+.f64 (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 y.im (*.f64 x.re -2))) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re (neg.f64 y.im))) (*.f64 y.re (*.f64 x.im 1/2)))
(+.f64 (-.f64 -1 (*.f64 x.re (neg.f64 y.im))) (-.f64 1 (neg.f64 (*.f64 x.im y.re))))
(+.f64 (-.f64 1 (neg.f64 (*.f64 x.im y.re))) (-.f64 -1 (*.f64 x.re (neg.f64 y.im))))
(+.f64 (-.f64 -1 (neg.f64 (*.f64 x.im y.re))) (-.f64 1 (*.f64 x.re (neg.f64 y.im))))
(+.f64 (-.f64 1 (*.f64 x.re (neg.f64 y.im))) (-.f64 -1 (neg.f64 (*.f64 x.im y.re))))
(*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)
(*.f64 1 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(*.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)) -1)
(*.f64 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) 1/2)
(*.f64 -1 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(*.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) 1/4)
(*.f64 1/4 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))) 1/8)
(*.f64 (+.f64 (*.f64 x.re (*.f64 y.im 4)) (*.f64 4 (*.f64 x.im y.re))) 1/4)
(/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)
(/.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)) -1)
(/.f64 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) 2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) 4)
(/.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))) 8)
(/.f64 (+.f64 (*.f64 x.re (*.f64 y.im 4)) (*.f64 4 (*.f64 x.im y.re))) 4)
(/.f64 (-.f64 (*.f64 y.im (+.f64 x.re x.re)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im 4)))) -2)
(/.f64 (*.f64 2 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -4)
(/.f64 (+.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -4)
(/.f64 (/.f64 (-.f64 (*.f64 y.im (+.f64 x.re x.re)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im 4)))) -1) 2)
(/.f64 (/.f64 (*.f64 2 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -1) 4)
(/.f64 (/.f64 (+.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -1) 4)
(pow.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)
(neg.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)))
Outputs
(*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im)))
(*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im))))
(*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im)))
(*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im))))
(*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 -2 (*.f64 x.re y.im)) (*.f64 x.re y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 y.im (*.f64 -2 y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 y.im (*.f64 -2 y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 y.im (*.f64 -2 y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im)))
(*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im))))
(*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 x.re (+.f64 (*.f64 -2 y.im) y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im)))
(*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im))))
(*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re (+.f64 (*.f64 2 y.im) (*.f64 -1 y.im))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re))))
(*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im))))
(*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (*.f64 y.im (+.f64 x.re (*.f64 -2 x.re)))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re)))
(*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im))))
(*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (+.f64 (*.f64 2 x.re) (*.f64 -1 x.re))) (*.f64 y.re x.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (+.f64 x.re x.re)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (*.f64 x.re -2)) (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re)))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 0)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 0 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (neg.f64 y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re (neg.f64 y.im)) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (*.f64 x.im (+.f64 y.re y.re)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (+.f64 x.re x.re)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.im (+.f64 y.re y.re)) (-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (neg.f64 (*.f64 x.im y.re)) (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (neg.f64 y.im))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re (*.f64 y.im 1/2)) (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re (*.f64 x.im 1/2)) (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.re (*.f64 x.im 1/2)) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re (neg.f64 y.im))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 y.im (*.f64 x.re -2))))
(+.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2) (-.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2) (*.f64 -2 (*.f64 x.re y.im))))
(+.f64 (/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -1) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 1 (*.f64 y.im (+.f64 x.re x.re))) (+.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -1))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.im y.re) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1)) (-.f64 1 (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 1 (*.f64 x.re y.im)) (+.f64 (*.f64 x.im y.re) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1) (+.f64 (*.f64 x.im y.re) (-.f64 1 (*.f64 x.re y.im))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.im y.re) (-.f64 1 (*.f64 x.re y.im))) (+.f64 (*.f64 y.im (+.f64 x.re x.re)) -1))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 -1 (*.f64 x.re y.im)) (+.f64 (*.f64 x.im y.re) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re)))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.im y.re) (+.f64 1 (*.f64 y.im (+.f64 x.re x.re)))) (-.f64 -1 (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re (*.f64 y.im 1/2))) (*.f64 x.re (*.f64 y.im 1/2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.re y.im) (*.f64 y.re (*.f64 x.im 1/2))) (*.f64 y.re (*.f64 x.im 1/2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 x.re y.im) (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re)))) (*.f64 y.im (*.f64 x.re -2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (+.f64 (*.f64 y.im (+.f64 x.re x.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 (*.f64 x.im y.re) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 x.im y.re))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 y.im (/.f64 x.re -2)) (-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (-.f64 (+.f64 (*.f64 y.re x.im) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (+.f64 (*.f64 y.im (-.f64 (+.f64 x.re x.re) (*.f64 x.re 1/2))) (*.f64 y.re x.im)))
(+.f64 (+.f64 (*.f64 y.re x.im) (*.f64 y.im (*.f64 x.re 3/2))) (*.f64 x.re (*.f64 y.im -1/2)))
(+.f64 (*.f64 y.im (/.f64 x.re -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im -3))) 2))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (-.f64 (*.f64 y.re x.im) (/.f64 (*.f64 (*.f64 x.re y.im) -3) 2)))
(-.f64 (*.f64 x.re (*.f64 y.im -1/2)) (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im -3)) 2) (*.f64 y.re x.im)))
(+.f64 (-.f64 (+.f64 (*.f64 x.im y.re) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))) (*.f64 y.im (/.f64 x.re -2)))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (-.f64 (+.f64 (*.f64 y.re x.im) (*.f64 y.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 y.im 1/2))))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (+.f64 (*.f64 y.im (-.f64 (+.f64 x.re x.re) (*.f64 x.re 1/2))) (*.f64 y.re x.im)))
(+.f64 (+.f64 (*.f64 y.re x.im) (*.f64 y.im (*.f64 x.re 3/2))) (*.f64 x.re (*.f64 y.im -1/2)))
(+.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (neg.f64 y.im))) (neg.f64 (*.f64 x.im y.re)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -2))
(+.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) -2))
(+.f64 (-.f64 (*.f64 y.re (+.f64 x.im x.im)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) -2))
(+.f64 (-.f64 (/.f64 (*.f64 x.re y.im) 2) (*.f64 -3 (/.f64 (*.f64 y.re x.im) 2))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) -2))
(+.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) -2) (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(+.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) -2))
(+.f64 (-.f64 (*.f64 y.re (+.f64 x.im x.im)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) -2))
(+.f64 (-.f64 (/.f64 (*.f64 x.re y.im) 2) (*.f64 -3 (/.f64 (*.f64 y.re x.im) 2))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) -2))
(+.f64 (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2) (*.f64 y.im (/.f64 x.re -2)))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 (*.f64 x.re y.im) -3)) 2))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (/.f64 (-.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im -3))) 2))
(+.f64 (*.f64 x.re (/.f64 y.im -2)) (-.f64 (*.f64 y.re x.im) (/.f64 (*.f64 (*.f64 x.re y.im) -3) 2)))
(-.f64 (*.f64 x.re (*.f64 y.im -1/2)) (-.f64 (/.f64 (*.f64 x.re (*.f64 y.im -3)) 2) (*.f64 y.re x.im)))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 y.im (*.f64 x.re -2))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 -2 (*.f64 x.re y.im))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(+.f64 (-.f64 (*.f64 x.im (*.f64 y.re 1/2)) (*.f64 -2 (*.f64 x.re y.im))) (-.f64 (*.f64 x.im (*.f64 y.re 1/2)) (*.f64 x.re y.im)))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 y.im (*.f64 x.re -2))))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 -2 (*.f64 x.re y.im))) (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re y.im)))
(+.f64 (-.f64 (*.f64 x.im (*.f64 y.re 1/2)) (*.f64 -2 (*.f64 x.re y.im))) (-.f64 (*.f64 x.im (*.f64 y.re 1/2)) (*.f64 x.re y.im)))
(+.f64 (-.f64 (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) (*.f64 y.im (*.f64 x.re -2))) (/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2) (-.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 2) (*.f64 -2 (*.f64 x.re y.im))))
(+.f64 (-.f64 (*.f64 y.re (*.f64 x.im 1/2)) (*.f64 x.re (neg.f64 y.im))) (*.f64 y.re (*.f64 x.im 1/2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 -1 (*.f64 x.re (neg.f64 y.im))) (-.f64 1 (neg.f64 (*.f64 x.im y.re))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 1 (neg.f64 (*.f64 x.im y.re))) (-.f64 -1 (*.f64 x.re (neg.f64 y.im))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 -1 (neg.f64 (*.f64 x.im y.re))) (-.f64 1 (*.f64 x.re (neg.f64 y.im))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (-.f64 1 (*.f64 x.re (neg.f64 y.im))) (-.f64 -1 (neg.f64 (*.f64 x.im y.re))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)) -1)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) 1/2)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 -1 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) 1/4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 1/4 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))) 1/8)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (+.f64 (*.f64 x.re (*.f64 y.im 4)) (*.f64 4 (*.f64 x.im y.re))) 1/4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)) -1)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2) 2)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) 4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) -2)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2)) (*.f64 2 (*.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 2))) 8)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 x.re (*.f64 y.im 4)) (*.f64 4 (*.f64 x.im y.re))) 4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (-.f64 (*.f64 y.im (+.f64 x.re x.re)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im 4)))) -2)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (*.f64 2 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (+.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (/.f64 (-.f64 (*.f64 y.im (+.f64 x.re x.re)) (+.f64 (*.f64 x.im (+.f64 y.re y.re)) (*.f64 x.re (*.f64 y.im 4)))) -1) 2)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (/.f64 (*.f64 2 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -1) 4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(/.f64 (/.f64 (+.f64 (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (*.f64 -2 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) -1) 4)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(pow.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) 1)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(neg.f64 (-.f64 (neg.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im)))
(+.f64 (*.f64 -1 (+.f64 (*.f64 x.re y.im) (*.f64 -2 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -2 x.re)) (neg.f64 y.im)) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))

eval18.0ms (0.6%)

Compiler

Compiled 1584 to 607 computations (61.7% saved)

prune16.0ms (0.5%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1030103
Fresh000
Picked011
Done033
Total1034107
Error
0b
Counts
107 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
0.0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
31.8b
(*.f64 y.re x.im)
29.4b
(*.f64 x.re y.im)
Compiler

Compiled 42 to 28 computations (33.3% saved)

regimes27.0ms (0.9%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 x.re y.im)
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(-.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (*.f64 y.im (*.f64 x.re -2)))
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Calls

7 calls:

4.0ms
y.re
4.0ms
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
4.0ms
x.re
4.0ms
y.im
4.0ms
x.im
Results
ErrorSegmentsBranch
0.0b1x.re
0.0b1x.im
0.0b1y.re
0.0b1y.im
0.0b1(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
0.0b1(*.f64 x.re y.im)
0.0b1(*.f64 x.im y.re)
Compiler

Compiled 75 to 46 computations (38.7% saved)

regimes86.0ms (2.9%)

Accuracy

Total -50.0b remaining (-474.8%)

Threshold costs -50.0b (-474.8%)

Counts
2 → 7
Calls
Call 1
Inputs
(*.f64 x.re y.im)
(*.f64 y.re x.im)
Outputs
(*.f64 x.re y.im)
(*.f64 y.re x.im)
(*.f64 x.re y.im)
(*.f64 y.re x.im)
(*.f64 x.re y.im)
(*.f64 y.re x.im)
(*.f64 x.re y.im)
Calls

5 calls:

28.0ms
x.im
19.0ms
(*.f64 x.re y.im)
14.0ms
y.im
14.0ms
y.re
11.0ms
x.re
Results
ErrorSegmentsBranch
16.5b3x.re
15.4b11x.im
16.9b5y.re
14.0b5y.im
10.5b7(*.f64 x.re y.im)
Compiler

Compiled 37 to 27 computations (27% saved)

bsearch232.0ms (7.8%)

Algorithm
binary-search
Steps
TimeLeftRight
116.0ms
1.3272560163471813e-65
9.709209238492615e-63
9.0ms
2.1961420659576514e-126
1.7160465496204762e-125
72.0ms
9.511345702683133e-149
2.5092112119398305e-142
9.0ms
-8.051901366263448e-153
-8.736270120024215e-154
13.0ms
-7.515147995097309e-125
-1.5231132221338829e-130
13.0ms
-8.913517973603848e-56
-6.948283989738151e-60
Results
225.0ms736×body256valid
Compiler

Compiled 662 to 519 computations (21.6% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031165
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(if (<=.f64 (*.f64 x.re y.im) -8411503360151/107839786668602559178668060348078522694548577690162289924414440996864) (*.f64 x.re y.im) (if (<=.f64 (*.f64 x.re y.im) -7791884381588717/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (*.f64 y.re x.im) (if (<=.f64 (*.f64 x.re y.im) -707617954654039/117936325775673167257548580655883402841153788138013763386756446882675755074754651627691460161801836485670886719711370153117830769685149769767544820357271751364043603968) (*.f64 x.re y.im) (if (<=.f64 (*.f64 x.re y.im) 3432398830065305/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 y.re x.im) (if (<=.f64 (*.f64 x.re y.im) 6706881651069515/3048582568667961163458591044719888970457615373696260889510895468384152088691177363398736428772941378085768487423248655171335913749304966119424) (*.f64 x.re y.im) (if (<=.f64 (*.f64 x.re y.im) 2223208113356471/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 y.re x.im) (*.f64 x.re y.im)))))))
(*.f64 x.re y.im)
Outputs
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(if (<=.f64 (*.f64 x.re y.im) -8411503360151/107839786668602559178668060348078522694548577690162289924414440996864) (*.f64 x.re y.im) (if (<=.f64 (*.f64 x.re y.im) -7791884381588717/49947976805055875702105555676690660891977570282639538413746511354005947821116249921924897649015871538557230897942505966327167610868612564900642816) (*.f64 y.re x.im) (if (<=.f64 (*.f64 x.re y.im) -707617954654039/117936325775673167257548580655883402841153788138013763386756446882675755074754651627691460161801836485670886719711370153117830769685149769767544820357271751364043603968) (*.f64 x.re y.im) (if (<=.f64 (*.f64 x.re y.im) 3432398830065305/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 y.re x.im) (if (<=.f64 (*.f64 x.re y.im) 6706881651069515/3048582568667961163458591044719888970457615373696260889510895468384152088691177363398736428772941378085768487423248655171335913749304966119424) (*.f64 x.re y.im) (if (<=.f64 (*.f64 x.re y.im) 2223208113356471/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 y.re x.im) (*.f64 x.re y.im)))))))
(*.f64 x.re y.im)
Compiler

Compiled 79 to 36 computations (54.4% saved)

soundness0.0ms (0%)

end29.0ms (1%)

Remove

(sort x.im y.re)

(sort x.re y.im)

Compiler

Compiled 115 to 54 computations (53% saved)

Profiling

Loading profile data...