Details

Time bar (total: 5.9s)

analyze1.4s (23.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0%99.8%0.2%11
9.7%90.1%0.2%12
23.4%76.4%0.2%13
24.8%75%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.1s (18.4%)

Results
1.0s8256×body128valid
61.0ms459×body128invalid
Compiler

Compiled 40 to 24 computations (40% saved)

preprocess21.0ms (0.4%)

Algorithm
egg-herbie
Rules
23×fma-def_binary64
11×+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039126
165126
275126
044
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)) (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.im y.re) (*.f64 x.im x.re)) (+.f64 (*.f64 y.re y.re) (*.f64 x.re x.re)))
(/.f64 (+.f64 (*.f64 x.re x.im) (*.f64 y.re y.im)) (+.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
Outputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.im (*.f64 y.re x.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)) (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 x.re x.re (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 y.im y.re) (*.f64 x.im x.re)) (+.f64 (*.f64 y.re y.re) (*.f64 x.re x.re)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 y.re y.re (*.f64 x.re x.re)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 x.re x.re (*.f64 y.re y.re)))
(/.f64 (+.f64 (*.f64 x.re x.im) (*.f64 y.re y.im)) (+.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 x.im x.im (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re x.im (*.f64 y.re y.im)) (fma.f64 y.im y.im (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 y.im x.im)) (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(/.f64 (fma.f64 x.re y.im (*.f64 y.re x.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 19 to 11 computations (42.1% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
11818
22218
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Outputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
28.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
28.5b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 66 to 32 computations (51.5% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x.re y.re (*.f64 x.im y.im))
28.0b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

series18.0ms (0.3%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
3.0ms
y.im
@0
(fma.f64 x.re y.re (*.f64 x.im y.im))
2.0ms
x.im
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
1.0ms
x.re
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
1.0ms
x.re
@-inf
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
1.0ms
y.re
@inf
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

rewrite42.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
512×log-prod_binary64
271×prod-diff_binary64
186×expm1-udef_binary64
186×log1p-udef_binary64
164×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
120325
2257025
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (*.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) 1) (/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x.re y.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.re y.re) 1) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x.re y.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.re y.re) (*.f64 x.re y.re) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (exp.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x.re y.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))))

simplify46.0ms (0.8%)

Algorithm
egg-herbie
Rules
608×associate-*l/_binary64
519×fma-def_binary64
455×associate-/r/_binary64
341×fma-neg_binary64
284×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0411626
11141542
23581458
318271410
Stop Event
node limit
Counts
161 → 90
Calls
Call 1
Inputs
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
Outputs
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)
(*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re))
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))
(*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re))))
(*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re))
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))
(*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re))))
(*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im))
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(+.f64 (/.f64 x.im y.im) (-.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(-.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im)) (*.f64 x.im (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re))))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) (-.f64 x.re (/.f64 (*.f64 x.im y.re) y.im))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (+.f64 (/.f64 x.im y.im) (-.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3)))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(-.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im)) (fma.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3) (*.f64 x.im (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)))))
(-.f64 (fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im)) (*.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (*.f64 (/.f64 x.re (pow.f64 y.re 3)) (*.f64 y.im y.im))))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (*.f64 (*.f64 y.im y.im) (/.f64 x.re (pow.f64 y.re 3))))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) (-.f64 x.im (/.f64 (*.f64 y.im x.re) y.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im))) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))))
(+.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (-.f64 (-.f64 (/.f64 x.re y.re) (*.f64 (/.f64 x.re (pow.f64 y.re 3)) (*.f64 y.im y.im))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im)))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (*.f64 (*.f64 y.im y.im) (/.f64 x.re (pow.f64 y.re 3)))))
(-.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re)) (*.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (*.f64 (/.f64 x.re (pow.f64 y.re 3)) (*.f64 y.im y.im))))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (*.f64 (*.f64 y.im y.im) (/.f64 x.re (pow.f64 y.re 3))))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) (-.f64 x.im (/.f64 (*.f64 y.im x.re) y.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im))) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))))
(+.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (-.f64 (-.f64 (/.f64 x.re y.re) (*.f64 (/.f64 x.re (pow.f64 y.re 3)) (*.f64 y.im y.im))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im)))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (*.f64 (*.f64 y.im y.im) (/.f64 x.re (pow.f64 y.re 3)))))
(-.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re)) (*.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re))
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re)))
(*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re))))
(*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)
(*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)
(*.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 y.re (/.f64 x.re (fma.f64 y.im y.im (*.f64 y.re y.re)))))
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (*.f64 (/.f64 x.re (pow.f64 y.re 3)) (*.f64 y.im y.im))))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (*.f64 (*.f64 y.im y.im) (/.f64 x.re (pow.f64 y.re 3))))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) (-.f64 x.im (/.f64 (*.f64 y.im x.re) y.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im))) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))))
(+.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (-.f64 (-.f64 (/.f64 x.re y.re) (*.f64 (/.f64 x.re (pow.f64 y.re 3)) (*.f64 y.im y.im))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im)))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (*.f64 (*.f64 y.im y.im) (/.f64 x.re (pow.f64 y.re 3)))))
(-.f64 (fma.f64 x.im (/.f64 y.im (*.f64 y.re y.re)) (/.f64 x.re y.re)) (*.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im))
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(+.f64 (/.f64 x.im y.im) (-.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(-.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im)) (*.f64 x.im (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re))))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) (-.f64 x.re (/.f64 (*.f64 x.im y.re) y.im))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (+.f64 (/.f64 x.im y.im) (-.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3)))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(-.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im)) (fma.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3) (*.f64 x.im (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)))))
(-.f64 (fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im)) (*.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im))
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(+.f64 (/.f64 x.im y.im) (-.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(-.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im)) (*.f64 x.im (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re))))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (*.f64 y.im y.im)) (-.f64 x.re (/.f64 (*.f64 x.im y.re) y.im))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (+.f64 (/.f64 x.im y.im) (-.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3)))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(-.f64 (fma.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re (/.f64 x.im y.im)) (fma.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3) (*.f64 x.im (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)))))
(-.f64 (fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im)) (*.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) (+.f64 x.im (*.f64 (/.f64 x.re y.im) y.re))))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 x.re y.re)
(*.f64 y.re x.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 x.re y.re)
(*.f64 y.re x.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 x.re y.re)
(*.f64 y.re x.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 x.re y.re)
(*.f64 y.re x.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 x.re y.re)
(*.f64 y.re x.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 x.re y.re)
(*.f64 y.re x.re)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(*.f64 y.im x.im)
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))
(+.f64 (*.f64 y.im x.im) (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 y.im x.im))

prune70.0ms (1.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New81990
Fresh000
Picked101
Done000
Total82991
Error
3.2b
Counts
91 → 9
Alt Table
StatusErrorProgram
28.5b
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
38.9b
(/.f64 x.re y.re)
37.7b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
35.7b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
18.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
38.1b
(/.f64 x.im y.im)
28.9b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
25.9b
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
28.9b
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 1972 to 722 computations (63.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 y.re y.im)
0.0b
(/.f64 1 (hypot.f64 y.re y.im))
0.2b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
17.4b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))

series23.0ms (0.4%)

Counts
4 → 144
Calls

36 calls:

TimeVariablePointExpression
2.0ms
y.re
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
1.0ms
x.re
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
1.0ms
y.re
@0
(/.f64 1 (hypot.f64 y.re y.im))
1.0ms
y.re
@inf
(/.f64 1 (hypot.f64 y.re y.im))
1.0ms
x.im
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))

rewrite65.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
614×log-prod_binary64
254×prod-diff_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
189×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01245
124542
2312942
Stop Event
node limit
Counts
4 → 151
Calls
Call 1
Inputs
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(/.f64 1 (hypot.f64 y.re y.im))
(hypot.f64 y.re y.im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.re y.re) (/.f64 1 (hypot.f64 y.re y.im))) (*.f64 (*.f64 x.im y.im) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 x.re y.re)) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 x.re y.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -1/2)) (pow.f64 (hypot.f64 y.re y.im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 x.re y.re) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re y.re) (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 (*.f64 x.im y.im) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) (cbrt.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 (hypot.f64 y.re y.im) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 y.re y.im) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (/.f64 (hypot.f64 y.re y.im) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) -1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) -1) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im)))) (cbrt.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (hypot.f64 y.re y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (pow.f64 (hypot.f64 y.re y.im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) -1) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re y.im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (hypot.f64 y.re y.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (exp.f64 (hypot.f64 y.re y.im))))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 y.re y.im)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 y.re y.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re y.im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (sqrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (hypot.f64 y.re y.im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (hypot.f64 y.re y.im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (hypot.f64 y.re y.im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re y.im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 y.re y.im)))))))

simplify69.0ms (1.2%)

Algorithm
egg-herbie
Rules
728×times-frac_binary64
536×associate-/l*_binary64
447×fma-def_binary64
403×cancel-sign-sub-inv_binary64
241×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01503760
14873336
217113120
Stop Event
node limit
Counts
295 → 265
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 x.re y.re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 x.re y.re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
x.im
(+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im)
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 3)))))
x.re
(+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re))
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2))))
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 3))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2)))))
(*.f64 -1 x.re)
(neg.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2))) (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 3))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2)))) (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 x.re y.re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
x.re
(+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re))
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2))))
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 3))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2)))))
x.im
(+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im)
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 3)))))
(*.f64 -1 x.im)
(neg.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 3)))) (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(/.f64 -1 y.re)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (/.f64 1 y.re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(/.f64 -1 y.im)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (/.f64 1 y.im))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
y.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5))) y.im)) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
y.re
(+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))
(-.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(*.f64 -1 y.re)
(neg.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))))
y.re
(+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))
(-.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
y.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5))) y.im)) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(*.f64 -1 y.im)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5))) y.im)))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im))
(*.f64 y.im (*.f64 x.im (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 x.re y.re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re))
(*.f64 y.re (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) x.re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 x.re y.re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re))
(*.f64 y.re (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) x.re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
x.im
(+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im)
(+.f64 x.im (/.f64 x.re (/.f64 y.im y.re)))
(+.f64 x.im (/.f64 y.re (/.f64 y.im x.re)))
(fma.f64 (/.f64 x.re y.im) y.re x.im)
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))))
(+.f64 (+.f64 x.im (/.f64 x.re (/.f64 y.im y.re))) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (/.f64 (*.f64 y.im y.im) x.im))))
(+.f64 x.im (+.f64 (/.f64 y.re (/.f64 y.im x.re)) (*.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) -1/2)))
(fma.f64 (*.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re)) -1/2 (fma.f64 (/.f64 x.re y.im) y.re x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 3)))))
(+.f64 (/.f64 x.re (/.f64 y.im y.re)) (-.f64 x.im (*.f64 1/2 (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (*.f64 y.im y.im) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 3)))))))
(+.f64 x.im (-.f64 (/.f64 y.re (/.f64 y.im x.re)) (*.f64 1/2 (+.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (pow.f64 y.re 3))))))
(fma.f64 -1/2 (fma.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re) (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (pow.f64 y.re 3))) (fma.f64 (/.f64 x.re y.im) y.re x.im))
x.re
(+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re))
(+.f64 x.re (/.f64 y.im (/.f64 y.re x.im)))
(+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im))
(fma.f64 (/.f64 y.im y.re) x.im x.re)
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2))))
(+.f64 (+.f64 x.re (/.f64 y.im (/.f64 y.re x.im))) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))))
(+.f64 x.re (+.f64 (*.f64 (/.f64 y.im y.re) x.im) (/.f64 (*.f64 -1/2 x.re) (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)))))
(fma.f64 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im)) -1/2 (fma.f64 (/.f64 y.im y.re) x.im x.re))
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 3))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2)))))
(+.f64 x.re (-.f64 (/.f64 y.im (/.f64 y.re x.im)) (*.f64 1/2 (+.f64 (/.f64 (*.f64 x.im (pow.f64 y.im 3)) (pow.f64 y.re 3)) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))))))
(-.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) (*.f64 1/2 (+.f64 (*.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 y.re y.im))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 3)) x.im))))
(fma.f64 -1/2 (fma.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im) (*.f64 (/.f64 x.im (pow.f64 y.re 3)) (pow.f64 y.im 3))) (fma.f64 (/.f64 y.im y.re) x.im x.re))
(*.f64 -1 x.re)
(neg.f64 x.re)
(neg.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))
(neg.f64 (+.f64 x.re (/.f64 y.im (/.f64 y.re x.im))))
(-.f64 (neg.f64 x.re) (*.f64 (/.f64 y.im y.re) x.im))
(neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2))) (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))) (+.f64 x.re (/.f64 y.im (/.f64 y.re x.im))))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 y.re y.im)))) (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im))) (fma.f64 (/.f64 y.im y.re) x.im x.re))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 3))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2)))) (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)))
(-.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 x.im (pow.f64 y.im 3)) (pow.f64 y.re 3)) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)))) (+.f64 x.re (/.f64 y.im (/.f64 y.re x.im))))
(fma.f64 1/2 (+.f64 (*.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 y.re y.im))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 3)) x.im)) (-.f64 (neg.f64 x.re) (*.f64 (/.f64 y.im y.re) x.im)))
(-.f64 (*.f64 1/2 (fma.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im) (*.f64 (/.f64 x.im (pow.f64 y.re 3)) (pow.f64 y.im 3)))) (fma.f64 (/.f64 y.im y.re) x.im x.re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 x.re y.re))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re))
(*.f64 y.re (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) x.re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im))
(*.f64 y.im (*.f64 x.im (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im))
(*.f64 y.im (*.f64 x.im (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 y.im x.im)) (*.f64 (*.f64 x.re y.re) (sqrt.f64 (/.f64 1 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))))
(fma.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.im x.im) (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (+.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im)))) (fma.f64 y.re x.re (*.f64 y.im x.im)))
x.re
(+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re))
(+.f64 x.re (/.f64 y.im (/.f64 y.re x.im)))
(+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im))
(fma.f64 (/.f64 y.im y.re) x.im x.re)
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2))))
(+.f64 (+.f64 x.re (/.f64 y.im (/.f64 y.re x.im))) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))))
(+.f64 x.re (+.f64 (*.f64 (/.f64 y.im y.re) x.im) (/.f64 (*.f64 -1/2 x.re) (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)))))
(fma.f64 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im)) -1/2 (fma.f64 (/.f64 y.im y.re) x.im x.re))
(-.f64 (+.f64 x.re (/.f64 (*.f64 y.im x.im) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 3))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 2)))))
(+.f64 x.re (-.f64 (/.f64 y.im (/.f64 y.re x.im)) (*.f64 1/2 (+.f64 (/.f64 (*.f64 x.im (pow.f64 y.im 3)) (pow.f64 y.re 3)) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re))))))
(-.f64 (+.f64 x.re (*.f64 (/.f64 y.im y.re) x.im)) (*.f64 1/2 (+.f64 (*.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 y.re y.im))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 3)) x.im))))
(fma.f64 -1/2 (fma.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im) (*.f64 (/.f64 x.im (pow.f64 y.re 3)) (pow.f64 y.im 3))) (fma.f64 (/.f64 y.im y.re) x.im x.re))
x.im
(+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im)
(+.f64 x.im (/.f64 x.re (/.f64 y.im y.re)))
(+.f64 x.im (/.f64 y.re (/.f64 y.im x.re)))
(fma.f64 (/.f64 x.re y.im) y.re x.im)
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))))
(+.f64 (+.f64 x.im (/.f64 x.re (/.f64 y.im y.re))) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (/.f64 (*.f64 y.im y.im) x.im))))
(+.f64 x.im (+.f64 (/.f64 y.re (/.f64 y.im x.re)) (*.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) -1/2)))
(fma.f64 (*.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re)) -1/2 (fma.f64 (/.f64 x.re y.im) y.re x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 3)))))
(+.f64 (/.f64 x.re (/.f64 y.im y.re)) (-.f64 x.im (*.f64 1/2 (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (*.f64 y.im y.im) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 3)))))))
(+.f64 x.im (-.f64 (/.f64 y.re (/.f64 y.im x.re)) (*.f64 1/2 (+.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (pow.f64 y.re 3))))))
(fma.f64 -1/2 (fma.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re) (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (pow.f64 y.re 3))) (fma.f64 (/.f64 x.re y.im) y.re x.im))
(*.f64 -1 x.im)
(neg.f64 x.im)
(neg.f64 (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im))
(neg.f64 (+.f64 x.im (/.f64 x.re (/.f64 y.im y.re))))
(neg.f64 (+.f64 x.im (/.f64 y.re (/.f64 y.im x.re))))
(neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re y.re) (/.f64 (*.f64 y.im y.im) x.im))) (+.f64 x.im (/.f64 x.re (/.f64 y.im y.re))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (neg.f64 (+.f64 x.im (/.f64 y.re (/.f64 y.im x.re)))))
(fma.f64 1/2 (*.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 2))) (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 3)))) (+.f64 (/.f64 (*.f64 x.re y.re) y.im) x.im))
(-.f64 (*.f64 1/2 (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (*.f64 y.im y.im) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 3))))) (+.f64 x.im (/.f64 x.re (/.f64 y.im y.re))))
(-.f64 (*.f64 1/2 (+.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (pow.f64 y.re 3)))) (+.f64 x.im (/.f64 y.re (/.f64 y.im x.re))))
(fma.f64 1/2 (fma.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re) (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (pow.f64 y.re 3))) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im)))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(+.f64 (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im) (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im)))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (*.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im)) (+.f64 (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re))) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (/.f64 y.im (/.f64 (pow.f64 y.re 3) (*.f64 y.im x.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (+.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (pow.f64 y.re 3)) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (+.f64 (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)) (/.f64 x.im (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (/.f64 y.im (/.f64 (pow.f64 y.re 3) (*.f64 y.im x.re)))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re))) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (/.f64 y.im (/.f64 (pow.f64 y.re 3) (*.f64 y.im x.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (+.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (pow.f64 y.re 3)) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (+.f64 (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)) (/.f64 x.im (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (/.f64 y.im (/.f64 (pow.f64 y.re 3) (*.f64 y.im x.re)))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re))) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (/.f64 y.im (/.f64 (pow.f64 y.re 3) (*.f64 y.im x.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(+.f64 (/.f64 y.im (/.f64 (*.f64 y.re y.re) x.im)) (-.f64 (/.f64 x.re y.re) (+.f64 (/.f64 (*.f64 (*.f64 y.im y.im) x.re) (pow.f64 y.re 3)) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im y.re) (/.f64 x.im y.re)) (+.f64 (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)) (/.f64 x.im (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (/.f64 y.im (/.f64 (pow.f64 y.re 3) (*.f64 y.im x.re)))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(+.f64 (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im) (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im)))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (*.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im)) (+.f64 (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(+.f64 (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im) (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im)))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (*.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 (/.f64 y.re (/.f64 y.im x.re)) y.im)) (+.f64 (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im))
(/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re))
(*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re))
(*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re))
(*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im))
(/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im))
(/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im))))
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3)))
(fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) -1/2 (/.f64 1 y.im))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (+.f64 (/.f64 1 y.im) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3))))
(fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) -1/2 (/.f64 1 y.im)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) (/.f64 1/2 (/.f64 (pow.f64 y.im 3) (*.f64 y.re y.re)))))
(+.f64 (/.f64 1 y.im) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) -1/2 (*.f64 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) -5/16))))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) -1/2 (/.f64 1 y.re))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) -1/2 (/.f64 1 y.re)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) -1/2 (/.f64 1 y.re))) (*.f64 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) -5/16))
(/.f64 -1 y.re)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (/.f64 1 y.re))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))) (/.f64 1 y.re))
(fma.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) (/.f64 -1 y.re))
(fma.f64 1/2 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) (/.f64 -1 y.re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(-.f64 (fma.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) (/.f64 -1 y.re)) (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) (*.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) -3/8)) (/.f64 -1 y.re))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(-.f64 (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(+.f64 (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (fma.f64 1/2 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) (*.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) -3/8))) (/.f64 -1 y.re))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) -1/2 (/.f64 1 y.re))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) -1/2 (/.f64 1 y.re)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (*.f64 (/.f64 y.im (pow.f64 y.re 3)) y.im) -1/2 (/.f64 1 y.re))) (*.f64 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) -5/16))
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3)))
(fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) -1/2 (/.f64 1 y.im))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (+.f64 (/.f64 1 y.im) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3))))
(fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) -1/2 (/.f64 1 y.im)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) (/.f64 1/2 (/.f64 (pow.f64 y.im 3) (*.f64 y.re y.re)))))
(+.f64 (/.f64 1 y.im) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (fma.f64 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) -1/2 (*.f64 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) -5/16))))
(/.f64 -1 y.im)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (/.f64 1 y.im))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))) (/.f64 1 y.im))
(fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (/.f64 -1 y.im))
(fma.f64 1/2 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) (/.f64 -1 y.im))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (/.f64 1/2 (/.f64 (pow.f64 y.im 3) (*.f64 y.re y.re))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) (/.f64 -1 y.im)) (*.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) -3/8))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (fma.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) (/.f64 1/2 (/.f64 (pow.f64 y.im 3) (*.f64 y.re y.re)))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 y.re (pow.f64 y.im 3)) y.re) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
y.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im)
(fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) y.im)
(fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) y.im)
(fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) y.im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) y.im) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(+.f64 (fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) y.im) (*.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) y.im))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5))) y.im)) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(+.f64 (fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)) (*.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)))
y.re
(+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))
(+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)))
(fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) y.re)
(fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) y.re)
(-.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(+.f64 y.re (-.f64 (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(+.f64 y.re (fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) (*.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8)))
(fma.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) y.re))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) (+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) (fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) y.re)) (*.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) y.re)))
(*.f64 -1 y.re)
(neg.f64 y.re)
(neg.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))))
(neg.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re))))
(-.f64 (*.f64 (/.f64 y.im (/.f64 y.re y.im)) -1/2) y.re)
(-.f64 (*.f64 (*.f64 (/.f64 y.im y.re) y.im) -1/2) y.re)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) y.re))
(-.f64 (fma.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) (*.f64 (*.f64 (/.f64 y.im y.re) y.im) -1/2)) y.re)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) (+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) (fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) y.re)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))) (fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) y.re)))
y.re
(+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))
(+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)))
(fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) y.re)
(fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) y.re)
(-.f64 (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(+.f64 y.re (-.f64 (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))))
(+.f64 y.re (fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) (*.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8)))
(fma.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) y.re))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5))) (+.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 y.im 2) y.re)))) (*.f64 1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) (+.f64 y.re (*.f64 1/2 (/.f64 (*.f64 y.im y.im) y.re)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) (fma.f64 1/2 (/.f64 y.im (/.f64 y.re y.im)) y.re)) (*.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.im y.re) y.im) (fma.f64 1/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 5)) y.re)))
y.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im)
(fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) y.im)
(fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) y.im)
(fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) y.im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) y.im) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(+.f64 (fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) y.im) (*.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) y.im))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5))) y.im)) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)) (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))))
(+.f64 (fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)) (*.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)))
(*.f64 -1 y.im)
(neg.f64 y.im)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) y.im))
(-.f64 (*.f64 (/.f64 y.re (/.f64 y.im y.re)) -1/2) y.im)
(fma.f64 (*.f64 (/.f64 y.re y.im) y.re) -1/2 (neg.f64 y.im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) y.im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) y.im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (fma.f64 1/2 (/.f64 y.re (/.f64 y.im y.re)) y.im))
(fma.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) (fma.f64 (*.f64 (/.f64 y.re y.im) y.re) -1/2 (neg.f64 y.im)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) y.im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5))) y.im)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) y.im) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)))
(-.f64 (fma.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3)) (*.f64 (/.f64 y.re (/.f64 y.im y.re)) -1/2)) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 3))) (fma.f64 1/2 (*.f64 (/.f64 y.re y.im) y.re) (fma.f64 1/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 5)) y.im)))

prune223.0ms (3.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New3148322
Fresh628
Picked011
Done000
Total32011331
Error
0.0b
Counts
331 → 11
Alt Table
StatusErrorProgram
18.8b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
25.9b
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
19.3b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
45.5b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 1/2 (*.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))))
18.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
44.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 (/.f64 y.im y.re) x.im x.re))
31.5b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
32.7b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
45.4b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im))) (fma.f64 (/.f64 y.im y.re) x.im x.re)))
18.7b
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))))
35.7b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
Compiler

Compiled 7800 to 3030 computations (61.2% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 y.re y.im)
0.0b
(/.f64 1 (hypot.f64 y.re y.im))
0.3b
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))))
17.5b
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))

series18.0ms (0.3%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
3.0ms
x.re
@-inf
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
1.0ms
y.re
@0
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
1.0ms
y.im
@0
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
1.0ms
x.re
@inf
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
1.0ms
x.re
@0
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))

rewrite60.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
281×prod-diff_binary64
221×expm1-udef_binary64
221×log1p-udef_binary64
196×log-pow_binary64
128×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
125231
2336831
Stop Event
node limit
Counts
2 → 79
Calls
Call 1
Inputs
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re y.im) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2) (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 1) (/.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) 1) (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2)) (/.f64 (hypot.f64 y.re y.im) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2)) (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2)) (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (/.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (hypot.f64 y.re y.im) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y.re x.re) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 y.im x.im) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 y.re x.re)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 y.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 2) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (hypot.f64 y.re y.im)) (/.f64 1 (/.f64 (neg.f64 (hypot.f64 y.re y.im)) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (hypot.f64 y.re y.im)) (/.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (hypot.f64 y.re y.im)) (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) 1) (/.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) 1) (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)) (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)) (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) (/.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) 1) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (hypot.f64 y.re y.im))) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2)) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (neg.f64 (hypot.f64 y.re y.im)) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re x.re) (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 (*.f64 y.im x.im) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 y.re x.re) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 y.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))))

simplify73.0ms (1.2%)

Algorithm
egg-herbie
Rules
534×cancel-sign-sub-inv_binary64
533×fma-def_binary64
280×associate-/l/_binary64
239×times-frac_binary64
239×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01373924
15113324
223623100
Stop Event
node limit
Counts
175 → 143
Calls
Call 1
Inputs
(/.f64 1 x.im)
(-.f64 (/.f64 1 x.im) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))))
(/.f64 1 x.re)
(-.f64 (/.f64 1 x.re) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 3)))) (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 3))))))
(/.f64 -1 x.re)
(-.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (/.f64 1 x.re))
(-.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 3)))) (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 3))))) (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))))
(/.f64 1 x.re)
(-.f64 (/.f64 1 x.re) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 3)))) (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 3))))))
(/.f64 1 x.im)
(-.f64 (/.f64 1 x.im) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))))
(/.f64 -1 x.im)
(-.f64 (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))) (/.f64 1 x.im))
(-.f64 (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 4) (pow.f64 x.im 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 x.re y.re)))
(-.f64 (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (+.f64 (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 x.re y.re)))
(-.f64 (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (+.f64 (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 x.re y.re)))
(-.f64 (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (+.f64 (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 4) (pow.f64 x.im 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 4) (pow.f64 x.im 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
Outputs
(/.f64 1 x.im)
(-.f64 (/.f64 1 x.im) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (/.f64 1 x.im) (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))))
(-.f64 (/.f64 1 x.im) (*.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im)))
(-.f64 (/.f64 1 x.im) (*.f64 (/.f64 y.re y.im) (/.f64 x.re (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (*.f64 x.im (*.f64 y.im y.im))) (+.f64 (/.f64 1 x.im) (*.f64 (/.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (fma.f64 (*.f64 (/.f64 x.re y.im) (/.f64 x.re y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3)) (/.f64 1 x.im))) (*.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im)))
(+.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) (+.f64 (/.f64 1/2 x.im) (/.f64 (*.f64 x.re x.re) (pow.f64 x.im 3)))) (-.f64 (/.f64 1 x.im) (*.f64 (/.f64 y.re y.im) (/.f64 x.re (*.f64 x.im x.im)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (*.f64 x.im (*.f64 y.im y.im))) (+.f64 (/.f64 1 x.im) (*.f64 (/.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (fma.f64 1/2 (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (/.f64 (pow.f64 y.re 3) (*.f64 x.im x.im))) (+.f64 (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))) (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (fma.f64 (*.f64 (/.f64 x.re y.im) (/.f64 x.re y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3)) (/.f64 1 x.im))) (fma.f64 1/2 (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (/.f64 (pow.f64 y.re 3) (*.f64 x.im x.im))) (fma.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im)) (*.f64 (/.f64 (pow.f64 y.re 3) (pow.f64 y.im 3)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 4))))))
(-.f64 (+.f64 (/.f64 1 x.im) (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) (+.f64 (/.f64 1/2 x.im) (/.f64 (*.f64 x.re x.re) (pow.f64 x.im 3))))) (fma.f64 1/2 (/.f64 (pow.f64 y.re 3) (/.f64 (*.f64 (*.f64 x.im x.im) (pow.f64 y.im 3)) x.re)) (fma.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im) (*.f64 (pow.f64 (/.f64 x.re y.im) 3) (/.f64 (pow.f64 y.re 3) (pow.f64 x.im 4))))))
(/.f64 1 x.re)
(-.f64 (/.f64 1 x.re) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(-.f64 (/.f64 1 x.re) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(+.f64 (/.f64 1 x.re) (-.f64 (fma.f64 1/2 (/.f64 (/.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)) (/.f64 (*.f64 y.im y.im) (/.f64 (*.f64 (*.f64 y.re y.re) (pow.f64 x.re 3)) (*.f64 x.im x.im)))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 y.im x.re) (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (pow.f64 x.re 3)) (*.f64 y.re y.re))) (-.f64 (/.f64 1 x.re) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re))))
(+.f64 (/.f64 1 x.re) (-.f64 (*.f64 (/.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) (+.f64 (/.f64 (*.f64 x.im x.im) (pow.f64 x.re 3)) (/.f64 1/2 x.re))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re))))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 3)))) (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 3))))))
(-.f64 (+.f64 (/.f64 1 x.re) (fma.f64 1/2 (/.f64 (/.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)) (/.f64 (*.f64 y.im y.im) (/.f64 (*.f64 (*.f64 y.re y.re) (pow.f64 x.re 3)) (*.f64 x.im x.im))))) (+.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (/.f64 (pow.f64 y.im 3) (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 4)) (pow.f64 x.im 3))))))
(+.f64 (/.f64 1 x.re) (-.f64 (fma.f64 1/2 (*.f64 (/.f64 y.im x.re) (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (pow.f64 x.re 3)) (*.f64 y.re y.re))) (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 x.im 3) (pow.f64 y.re 3)))))))
(-.f64 (+.f64 (/.f64 1 x.re) (*.f64 (/.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) (+.f64 (/.f64 (*.f64 x.im x.im) (pow.f64 x.re 3)) (/.f64 1/2 x.re)))) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (pow.f64 (/.f64 x.im y.re) 3) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)))))
(/.f64 -1 x.re)
(-.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (/.f64 1 x.re))
(-.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)) (/.f64 1 x.re))
(fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (/.f64 -1 x.re))
(-.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)) (+.f64 (/.f64 1 x.re) (fma.f64 1/2 (/.f64 (/.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)) (/.f64 (*.f64 y.im y.im) (/.f64 (*.f64 (*.f64 y.re y.re) (pow.f64 x.re 3)) (*.f64 x.im x.im))))))
(-.f64 (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (/.f64 -1 x.re)) (fma.f64 1/2 (*.f64 (/.f64 y.im x.re) (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (pow.f64 x.re 3)) (*.f64 y.re y.re))))
(-.f64 (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (/.f64 -1 x.re)) (*.f64 (/.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) (+.f64 (/.f64 (*.f64 x.im x.im) (pow.f64 x.re 3)) (/.f64 1/2 x.re))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 3)))) (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 3))))) (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))))
(+.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)) (-.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (/.f64 (pow.f64 y.im 3) (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 4)) (pow.f64 x.im 3)))) (+.f64 (/.f64 1 x.re) (fma.f64 1/2 (/.f64 (/.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)) (/.f64 (*.f64 y.im y.im) (/.f64 (*.f64 (*.f64 y.re y.re) (pow.f64 x.re 3)) (*.f64 x.im x.im)))))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 x.im 3) (pow.f64 y.re 3)))) (-.f64 (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (/.f64 -1 x.re)) (fma.f64 1/2 (*.f64 (/.f64 y.im x.re) (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (pow.f64 x.re 3)) (*.f64 y.re y.re)))))
(fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (pow.f64 (/.f64 x.im y.re) 3) (-.f64 (/.f64 -1 x.re) (*.f64 (/.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) (+.f64 (/.f64 (*.f64 x.im x.im) (pow.f64 x.re 3)) (/.f64 1/2 x.re)))))))
(/.f64 1 x.re)
(-.f64 (/.f64 1 x.re) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(-.f64 (/.f64 1 x.re) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)))
(+.f64 (/.f64 1 x.re) (-.f64 (fma.f64 1/2 (/.f64 (/.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)) (/.f64 (*.f64 y.im y.im) (/.f64 (*.f64 (*.f64 y.re y.re) (pow.f64 x.re 3)) (*.f64 x.im x.im)))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 y.im x.re) (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (pow.f64 x.re 3)) (*.f64 y.re y.re))) (-.f64 (/.f64 1 x.re) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re))))
(+.f64 (/.f64 1 x.re) (-.f64 (*.f64 (/.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) (+.f64 (/.f64 (*.f64 x.im x.im) (pow.f64 x.re 3)) (/.f64 1/2 x.re))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re))))
(-.f64 (+.f64 (/.f64 1 x.re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (*.f64 x.re (pow.f64 y.re 2)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 2))))) (+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 3)))) (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 3))))))
(-.f64 (+.f64 (/.f64 1 x.re) (fma.f64 1/2 (/.f64 (/.f64 (*.f64 y.im y.im) x.re) (*.f64 y.re y.re)) (/.f64 (*.f64 y.im y.im) (/.f64 (*.f64 (*.f64 y.re y.re) (pow.f64 x.re 3)) (*.f64 x.im x.im))))) (+.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (/.f64 (pow.f64 y.im 3) (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 4)) (pow.f64 x.im 3))))))
(+.f64 (/.f64 1 x.re) (-.f64 (fma.f64 1/2 (*.f64 (/.f64 y.im x.re) (/.f64 y.im (*.f64 y.re y.re))) (/.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (pow.f64 x.re 3)) (*.f64 y.re y.re))) (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 x.im 3) (pow.f64 y.re 3)))))))
(-.f64 (+.f64 (/.f64 1 x.re) (*.f64 (/.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)) (+.f64 (/.f64 (*.f64 x.im x.im) (pow.f64 x.re 3)) (/.f64 1/2 x.re)))) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 y.im 3) (*.f64 x.re x.re)) (/.f64 x.im (pow.f64 y.re 3))) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (pow.f64 (/.f64 x.im y.re) 3) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im y.re)))))
(/.f64 1 x.im)
(-.f64 (/.f64 1 x.im) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (/.f64 1 x.im) (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))))
(-.f64 (/.f64 1 x.im) (*.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im)))
(-.f64 (/.f64 1 x.im) (*.f64 (/.f64 y.re y.im) (/.f64 x.re (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (*.f64 x.im (*.f64 y.im y.im))) (+.f64 (/.f64 1 x.im) (*.f64 (/.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (fma.f64 (*.f64 (/.f64 x.re y.im) (/.f64 x.re y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3)) (/.f64 1 x.im))) (*.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im)))
(+.f64 (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) (+.f64 (/.f64 1/2 x.im) (/.f64 (*.f64 x.re x.re) (pow.f64 x.im 3)))) (-.f64 (/.f64 1 x.im) (*.f64 (/.f64 y.re y.im) (/.f64 x.re (*.f64 x.im x.im)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (*.f64 x.im (*.f64 y.im y.im))) (+.f64 (/.f64 1 x.im) (*.f64 (/.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (fma.f64 1/2 (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (/.f64 (pow.f64 y.re 3) (*.f64 x.im x.im))) (+.f64 (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))) (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (fma.f64 (*.f64 (/.f64 x.re y.im) (/.f64 x.re y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3)) (/.f64 1 x.im))) (fma.f64 1/2 (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (/.f64 (pow.f64 y.re 3) (*.f64 x.im x.im))) (fma.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im)) (*.f64 (/.f64 (pow.f64 y.re 3) (pow.f64 y.im 3)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 4))))))
(-.f64 (+.f64 (/.f64 1 x.im) (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) (+.f64 (/.f64 1/2 x.im) (/.f64 (*.f64 x.re x.re) (pow.f64 x.im 3))))) (fma.f64 1/2 (/.f64 (pow.f64 y.re 3) (/.f64 (*.f64 (*.f64 x.im x.im) (pow.f64 y.im 3)) x.re)) (fma.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im) (*.f64 (pow.f64 (/.f64 x.re y.im) 3) (/.f64 (pow.f64 y.re 3) (pow.f64 x.im 4))))))
(/.f64 -1 x.im)
(-.f64 (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))) (/.f64 1 x.im))
(-.f64 (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))) (/.f64 1 x.im))
(fma.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im)) (/.f64 -1 x.im))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re (*.f64 x.im x.im)) (/.f64 -1 x.im))
(-.f64 (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))))
(-.f64 (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (*.f64 x.im (*.f64 y.im y.im))) (+.f64 (/.f64 1 x.im) (*.f64 (/.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))))
(-.f64 (*.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im)) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (fma.f64 (*.f64 (/.f64 x.re y.im) (/.f64 x.re y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3)) (/.f64 1 x.im))))
(+.f64 (-.f64 (*.f64 (/.f64 y.re y.im) (/.f64 x.re (*.f64 x.im x.im))) (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) (+.f64 (/.f64 1/2 x.im) (/.f64 (*.f64 x.re x.re) (pow.f64 x.im 3))))) (/.f64 -1 x.im))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))) (/.f64 (*.f64 x.re y.re) (*.f64 y.im (pow.f64 x.im 2))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 y.im 2) x.im))) (+.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 3))) (/.f64 1 x.im))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (/.f64 (pow.f64 y.re 3) (*.f64 x.im x.im))) (+.f64 (*.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im))) (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 4))))) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (*.f64 x.im (*.f64 y.im y.im))) (+.f64 (/.f64 1 x.im) (*.f64 (/.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 x.re (pow.f64 y.im 3)) (/.f64 (pow.f64 y.re 3) (*.f64 x.im x.im))) (fma.f64 (/.f64 x.re y.im) (/.f64 y.re (*.f64 x.im x.im)) (*.f64 (/.f64 (pow.f64 y.re 3) (pow.f64 y.im 3)) (/.f64 (pow.f64 x.re 3) (pow.f64 x.im 4))))) (fma.f64 1/2 (/.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) x.im) (fma.f64 (*.f64 (/.f64 x.re y.im) (/.f64 x.re y.im)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3)) (/.f64 1 x.im))))
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 y.re 3) (/.f64 (*.f64 (*.f64 x.im x.im) (pow.f64 y.im 3)) x.re)) (fma.f64 (/.f64 y.re (*.f64 x.im x.im)) (/.f64 x.re y.im) (*.f64 (pow.f64 (/.f64 x.re y.im) 3) (/.f64 (pow.f64 y.re 3) (pow.f64 x.im 4))))) (+.f64 (/.f64 1 x.im) (*.f64 (*.f64 (/.f64 y.re y.im) (/.f64 y.re y.im)) (+.f64 (/.f64 1/2 x.im) (/.f64 (*.f64 x.re x.re) (pow.f64 x.im 3))))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 1 (*.f64 x.im y.im)))
(/.f64 (hypot.f64 y.re y.im) (*.f64 x.im y.im))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 1 (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 1 (*.f64 x.im y.im)) (/.f64 (*.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re) (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 1 (*.f64 x.im y.im)) (*.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (+.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3)))) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 y.re (/.f64 (pow.f64 x.im 3) y.re)) (/.f64 1 (*.f64 x.im y.im))) (/.f64 (*.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re) (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 4) (pow.f64 x.im 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 1 (*.f64 x.im y.im)) (*.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3)) (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 4))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (+.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3)))) (fma.f64 (/.f64 (pow.f64 x.re 3) (pow.f64 y.im 4)) (/.f64 (pow.f64 y.re 3) (pow.f64 x.im 4)) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 y.re (/.f64 (pow.f64 x.im 3) y.re)) (/.f64 1 (*.f64 x.im y.im))) (fma.f64 (/.f64 (/.f64 x.re y.im) y.im) (/.f64 y.re (*.f64 x.im x.im)) (*.f64 (/.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 4))) (pow.f64 y.re 3)))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 x.re y.re)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 1 x.re) y.re))
(/.f64 (hypot.f64 y.re y.im) (*.f64 x.re y.re))
(-.f64 (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 1 x.re) y.re)) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 1 (*.f64 x.re y.re)) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3))) (/.f64 (/.f64 1 x.re) y.re))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (+.f64 (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3))) (/.f64 (/.f64 1 x.re) y.re))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re))) (/.f64 (pow.f64 y.im 3) (/.f64 (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4)) (pow.f64 x.im 3))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 x.im 3) (pow.f64 y.re 4))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (fma.f64 (/.f64 (pow.f64 x.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 x.re y.re)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 1 x.re) y.re))
(/.f64 (hypot.f64 y.re y.im) (*.f64 x.re y.re))
(-.f64 (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 1 x.re) y.re)) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 1 (*.f64 x.re y.re)) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3))) (/.f64 (/.f64 1 x.re) y.re))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (+.f64 (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3))) (/.f64 (/.f64 1 x.re) y.re))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re))) (/.f64 (pow.f64 y.im 3) (/.f64 (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4)) (pow.f64 x.im 3))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 x.im 3) (pow.f64 y.re 4))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (fma.f64 (/.f64 (pow.f64 x.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 x.re y.re)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 1 x.re) y.re))
(/.f64 (hypot.f64 y.re y.im) (*.f64 x.re y.re))
(-.f64 (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 1 x.re) y.re)) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 1 (*.f64 x.re y.re)) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3))) (/.f64 (/.f64 1 x.re) y.re))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (/.f64 1 (*.f64 x.re y.re)) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))))) (+.f64 (*.f64 (/.f64 (*.f64 y.im x.im) (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3))) (/.f64 (/.f64 1 x.re) y.re))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (*.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re))) (/.f64 (pow.f64 y.im 3) (/.f64 (*.f64 (pow.f64 x.re 4) (pow.f64 y.re 4)) (pow.f64 x.im 3))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (fma.f64 (/.f64 y.im (*.f64 x.re x.re)) (/.f64 x.im (*.f64 y.re y.re)) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 x.im 3) (pow.f64 y.re 4))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 y.im y.im) (pow.f64 x.re 3)) (/.f64 x.im (/.f64 (pow.f64 y.re 3) x.im)) (/.f64 1 (*.f64 x.re y.re))) (fma.f64 (/.f64 (pow.f64 x.im 3) (pow.f64 x.re 4)) (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) (*.f64 (/.f64 y.im (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re))) x.im))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 1 (*.f64 x.im y.im)))
(/.f64 (hypot.f64 y.re y.im) (*.f64 x.im y.im))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 1 (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 1 (*.f64 x.im y.im)) (/.f64 (*.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re) (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 1 (*.f64 x.im y.im)) (*.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (+.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3)))) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 y.re (/.f64 (pow.f64 x.im 3) y.re)) (/.f64 1 (*.f64 x.im y.im))) (/.f64 (*.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re) (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 4) (pow.f64 x.im 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 1 (*.f64 x.im y.im)) (*.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3)) (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 4))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (+.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3)))) (fma.f64 (/.f64 (pow.f64 x.re 3) (pow.f64 y.im 4)) (/.f64 (pow.f64 y.re 3) (pow.f64 x.im 4)) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 y.re (/.f64 (pow.f64 x.im 3) y.re)) (/.f64 1 (*.f64 x.im y.im))) (fma.f64 (/.f64 (/.f64 x.re y.im) y.im) (/.f64 y.re (*.f64 x.im x.im)) (*.f64 (/.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 4))) (pow.f64 y.re 3)))))
(*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 1 (*.f64 x.im y.im)))
(/.f64 (hypot.f64 y.re y.im) (*.f64 x.im y.im))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 1 (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (/.f64 1 (*.f64 x.im y.im)) (/.f64 (*.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re) (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 1 (*.f64 x.im y.im)) (*.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (+.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3)))) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 y.re (/.f64 (pow.f64 x.im 3) y.re)) (/.f64 1 (*.f64 x.im y.im))) (/.f64 (*.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re) (*.f64 x.im x.im))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 2) (pow.f64 y.re 2)) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 3))) (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2)))) (*.f64 (sqrt.f64 (+.f64 (pow.f64 y.re 2) (pow.f64 y.im 2))) (/.f64 1 (*.f64 y.im x.im)))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 y.re 3)) (*.f64 (pow.f64 y.im 4) (pow.f64 x.im 4))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))) (*.f64 (/.f64 (*.f64 x.re y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 2))) (sqrt.f64 (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 1 (*.f64 x.im y.im)) (*.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 (*.f64 y.re y.re) (pow.f64 x.im 3))))) (*.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (+.f64 (/.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 x.re 3)) (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 4))) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) (/.f64 y.re (*.f64 x.im x.im))))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (+.f64 (/.f64 (/.f64 1 x.im) y.im) (/.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3)))) (fma.f64 (/.f64 (pow.f64 x.re 3) (pow.f64 y.im 4)) (/.f64 (pow.f64 y.re 3) (pow.f64 x.im 4)) (/.f64 x.re (/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 y.im y.im)) y.re)))))
(*.f64 (hypot.f64 y.re y.im) (-.f64 (fma.f64 (/.f64 (*.f64 x.re x.re) (pow.f64 y.im 3)) (/.f64 y.re (/.f64 (pow.f64 x.im 3) y.re)) (/.f64 1 (*.f64 x.im y.im))) (fma.f64 (/.f64 (/.f64 x.re y.im) y.im) (/.f64 y.re (*.f64 x.im x.im)) (*.f64 (/.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 4))) (pow.f64 y.re 3)))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im)))
(fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (-.f64 (/.f64 x.im y.im) (/.f64 y.re (/.f64 (pow.f64 y.im 3) (*.f64 y.re x.im)))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(-.f64 (+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)))) (*.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im))
(-.f64 (fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (/.f64 x.im y.im)) (fma.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im))
(fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(-.f64 (fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re)) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re))) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im)))))
(-.f64 (fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im))
(fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(-.f64 (fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re)) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re))) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im)))))
(-.f64 (fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im))
(fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(-.f64 (fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re)) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 x.im y.im) (*.f64 y.re y.re))) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im))))
(+.f64 (/.f64 x.re y.re) (-.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 3) (/.f64 (pow.f64 y.re 4) x.im)))))
(-.f64 (fma.f64 (/.f64 x.im y.re) (/.f64 y.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im)))
(fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (-.f64 (/.f64 x.im y.im) (/.f64 y.re (/.f64 (pow.f64 y.im 3) (*.f64 y.re x.im)))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(-.f64 (+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)))) (*.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im))
(-.f64 (fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (/.f64 x.im y.im)) (fma.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im)))
(fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (-.f64 (/.f64 x.im y.im) (/.f64 y.re (/.f64 (pow.f64 y.im 3) (*.f64 y.re x.im)))))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(-.f64 (-.f64 (+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re))) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3)))) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)))
(-.f64 (+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)))) (*.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im))
(-.f64 (fma.f64 (/.f64 (/.f64 x.re y.im) y.im) y.re (/.f64 x.im y.im)) (fma.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re)
(/.f64 (*.f64 x.re y.re) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re)
(/.f64 (*.f64 x.re y.re) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re)
(/.f64 (*.f64 x.re y.re) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 x.im y.im) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (*.f64 x.re y.re) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (*.f64 x.im y.im) (fma.f64 y.re y.re (*.f64 y.im y.im))) (*.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re))
(fma.f64 (/.f64 x.re (fma.f64 y.re y.re (*.f64 y.im y.im))) y.re (/.f64 y.im (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) x.im)))

prune228.0ms (3.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New3120312
Fresh099
Picked011
Done011
Total31211323
Error
0.0b
Counts
323 → 11
Alt Table
StatusErrorProgram
18.8b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
25.9b
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
19.3b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
45.5b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 1/2 (*.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))))
18.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
44.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 (/.f64 y.im y.re) x.im x.re))
31.5b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
32.7b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
45.4b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im))) (fma.f64 (/.f64 y.im y.re) x.im x.re)))
18.7b
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))))
35.7b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
Compiler

Compiled 8472 to 3638 computations (57.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
0.2b
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)
0.5b
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1))
17.4b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))

series12.0ms (0.2%)

Counts
3 → 80
Calls

24 calls:

TimeVariablePointExpression
1.0ms
y.re
@inf
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)
1.0ms
y.re
@0
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)
1.0ms
y.im
@0
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)
1.0ms
y.im
@inf
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)
1.0ms
y.re
@0
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1))

rewrite54.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
254×prod-diff_binary64
246×expm1-udef_binary64
246×log1p-udef_binary64
146×add-sqr-sqrt_binary64
142×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01437
129531
2366531
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1))
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (hypot.f64 y.re y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (sqrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 y.re y.im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re y.im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (hypot.f64 y.re y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 y.re y.im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (hypot.f64 y.re y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 1 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (hypot.f64 y.re y.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 y.re y.im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2)) (cbrt.f64 (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -1/4) (pow.f64 (hypot.f64 y.re y.im) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (sqrt.f64 (cbrt.f64 (/.f64 1 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 y.re y.im))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 -1/2) (pow.f64 (hypot.f64 y.re y.im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) -1/2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 1/4) -1) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 1/4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (hypot.f64 y.re y.im) -1/4) (pow.f64 (hypot.f64 y.re y.im) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (hypot.f64 y.re y.im) (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 3/2)) (sqrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 1) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))))

simplify42.0ms (0.7%)

Algorithm
egg-herbie
Rules
355×cancel-sign-sub-inv_binary64
332×times-frac_binary64
329×fma-def_binary64
321×associate-*r*_binary64
272×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01312174
13682078
212021970
Stop Event
node limit
Counts
155 → 137
Calls
Call 1
Inputs
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(/.f64 -1 y.re)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (/.f64 1 y.re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(/.f64 -1 y.im)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (/.f64 1 y.im))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(sqrt.f64 (/.f64 1 y.im))
(-.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 1/4 (*.f64 (pow.f64 y.re 2) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))))) (*.f64 1/4 (*.f64 (pow.f64 y.re 2) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))))) (+.f64 (*.f64 15/128 (*.f64 (pow.f64 y.re 6) (sqrt.f64 (/.f64 1 (pow.f64 y.im 13))))) (*.f64 1/4 (*.f64 (pow.f64 y.re 2) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5)))))))
(sqrt.f64 (/.f64 1 y.re))
(-.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))) (pow.f64 y.im 2))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 5/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 9))) (pow.f64 y.im 4)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))) (pow.f64 y.im 2))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 5/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 9))) (pow.f64 y.im 4)))) (+.f64 (*.f64 15/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 13))) (pow.f64 y.im 6))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))) (pow.f64 y.im 2)))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
Outputs
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3)))
(fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) -1/2 (/.f64 1 y.im))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3)))
(fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) -1/2 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (/.f64 5/16 (/.f64 (pow.f64 y.im 7) (pow.f64 y.re 6)))))
(+.f64 (fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) -1/2 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im))) (*.f64 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) -5/16))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re))) (*.f64 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) -5/16))
(/.f64 -1 y.re)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (/.f64 1 y.re))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))) (/.f64 1 y.re))
(fma.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) (/.f64 -1 y.re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(-.f64 (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(fma.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) (-.f64 (/.f64 -1 y.re) (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(-.f64 (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)))
(-.f64 (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7))) (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re))))
(/.f64 1 y.re)
(-.f64 (/.f64 1 y.re) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (/.f64 1 y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 -1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2))
(fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5))) (/.f64 1 y.re)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.im 2) (pow.f64 y.re 3))) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 1/2 (/.f64 (*.f64 y.im y.im) (pow.f64 y.re 3)) (*.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (/.f64 1 y.re)) (fma.f64 5/16 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) (*.f64 1/2 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 5)) (fma.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) -1/2 (/.f64 1 y.re))) (*.f64 (/.f64 (pow.f64 y.im 6) (pow.f64 y.re 7)) -5/16))
(/.f64 1 y.im)
(-.f64 (/.f64 1 y.im) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(+.f64 (/.f64 1 y.im) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3)))
(fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) -1/2 (/.f64 1 y.im))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (*.f64 -1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))))
(+.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (/.f64 (*.f64 -1/2 (*.f64 y.re y.re)) (pow.f64 y.im 3)))
(fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) -1/2 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))))
(-.f64 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)) (fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (/.f64 5/16 (/.f64 (pow.f64 y.im 7) (pow.f64 y.re 6)))))
(+.f64 (fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) -1/2 (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im))) (*.f64 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)) -5/16))
(/.f64 -1 y.im)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (/.f64 1 y.im))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))) (/.f64 1 y.im))
(fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (/.f64 -1 y.im))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (*.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(+.f64 (/.f64 -1 y.im) (fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (*.f64 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) -3/8)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y.re 2) (pow.f64 y.im 3))) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5))) (/.f64 1 y.im)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 y.re y.re) (pow.f64 y.im 3)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (/.f64 5/16 (/.f64 (pow.f64 y.im 7) (pow.f64 y.re 6)))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(-.f64 (fma.f64 1/2 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) (*.f64 5/16 (/.f64 (pow.f64 y.re 6) (pow.f64 y.im 7)))) (fma.f64 3/8 (/.f64 (pow.f64 y.re 4) (pow.f64 y.im 5)) (/.f64 1 y.im)))
(sqrt.f64 (/.f64 1 y.im))
(-.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 1/4 (*.f64 (pow.f64 y.re 2) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))
(+.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 -1/4 (*.f64 (*.f64 y.re y.re) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))
(-.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))) (*.f64 (*.f64 y.re y.re) 1/4)))
(fma.f64 (*.f64 (*.f64 y.re y.re) -1/4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))) (sqrt.f64 (/.f64 1 y.im)))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))))) (*.f64 1/4 (*.f64 (pow.f64 y.re 2) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))
(+.f64 (sqrt.f64 (/.f64 1 y.im)) (-.f64 (*.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9))))) (*.f64 1/4 (*.f64 (*.f64 y.re y.re) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5)))))))
(+.f64 (sqrt.f64 (/.f64 1 y.im)) (fma.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))) (*.f64 (*.f64 -1/4 (*.f64 y.re y.re)) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))
(fma.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))) (fma.f64 (*.f64 (*.f64 y.re y.re) -1/4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))) (sqrt.f64 (/.f64 1 y.im))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.im)) (*.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))))) (+.f64 (*.f64 15/128 (*.f64 (pow.f64 y.re 6) (sqrt.f64 (/.f64 1 (pow.f64 y.im 13))))) (*.f64 1/4 (*.f64 (pow.f64 y.re 2) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5)))))))
(+.f64 (sqrt.f64 (/.f64 1 y.im)) (-.f64 (*.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9))))) (fma.f64 15/128 (*.f64 (pow.f64 y.re 6) (sqrt.f64 (/.f64 1 (pow.f64 y.im 13)))) (*.f64 1/4 (*.f64 (*.f64 y.re y.re) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5))))))))
(-.f64 (fma.f64 5/32 (*.f64 (pow.f64 y.re 4) (sqrt.f64 (/.f64 1 (pow.f64 y.im 9)))) (sqrt.f64 (/.f64 1 y.im))) (fma.f64 1/4 (*.f64 (*.f64 y.re y.re) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.im 13))) (*.f64 (pow.f64 y.re 6) 15/128))))
(+.f64 (sqrt.f64 (/.f64 1 y.im)) (fma.f64 (pow.f64 y.re 4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.im 9))) 5/32) (fma.f64 (*.f64 (*.f64 y.re y.re) (sqrt.f64 (/.f64 1 (pow.f64 y.im 5)))) -1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.im 13))) (*.f64 (pow.f64 y.re 6) -15/128)))))
(sqrt.f64 (/.f64 1 y.re))
(-.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))) (pow.f64 y.im 2))))
(+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 -1/4 (*.f64 (*.f64 y.im y.im) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))))))
(+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 (*.f64 -1/4 (*.f64 y.im y.im)) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5)))))
(fma.f64 (*.f64 (*.f64 y.im y.im) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5)))) -1/4 (sqrt.f64 (/.f64 1 y.re)))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 5/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 9))) (pow.f64 y.im 4)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))) (pow.f64 y.im 2))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 5/32 (*.f64 (pow.f64 y.im 4) (sqrt.f64 (/.f64 1 (pow.f64 y.re 9)))))) (*.f64 1/4 (*.f64 (*.f64 y.im y.im) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))))))
(+.f64 (sqrt.f64 (/.f64 1 y.re)) (fma.f64 5/32 (*.f64 (pow.f64 y.im 4) (sqrt.f64 (/.f64 1 (pow.f64 y.re 9)))) (*.f64 (*.f64 -1/4 (*.f64 y.im y.im)) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))))))
(fma.f64 (*.f64 (*.f64 y.im y.im) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5)))) -1/4 (fma.f64 (pow.f64 y.im 4) (*.f64 5/32 (sqrt.f64 (/.f64 1 (pow.f64 y.re 9)))) (sqrt.f64 (/.f64 1 y.re))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 5/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 9))) (pow.f64 y.im 4)))) (+.f64 (*.f64 15/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 13))) (pow.f64 y.im 6))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5))) (pow.f64 y.im 2)))))
(-.f64 (+.f64 (sqrt.f64 (/.f64 1 y.re)) (*.f64 5/32 (*.f64 (pow.f64 y.im 4) (sqrt.f64 (/.f64 1 (pow.f64 y.re 9)))))) (fma.f64 15/128 (*.f64 (pow.f64 y.im 6) (sqrt.f64 (/.f64 1 (pow.f64 y.re 13)))) (*.f64 1/4 (*.f64 (*.f64 y.im y.im) (sqrt.f64 (/.f64 1 (pow.f64 y.re 5)))))))
(-.f64 (fma.f64 5/32 (*.f64 (pow.f64 y.im 4) (sqrt.f64 (/.f64 1 (pow.f64 y.re 9)))) (sqrt.f64 (/.f64 1 y.re))) (fma.f64 15/128 (*.f64 (pow.f64 y.im 6) (sqrt.f64 (/.f64 1 (pow.f64 y.re 13)))) (*.f64 (*.f64 y.im y.im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5)))))))
(-.f64 (fma.f64 (pow.f64 y.im 4) (*.f64 5/32 (sqrt.f64 (/.f64 1 (pow.f64 y.re 9)))) (sqrt.f64 (/.f64 1 y.re))) (fma.f64 (*.f64 y.im y.im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 y.re 5)))) (*.f64 (pow.f64 y.im 6) (*.f64 15/128 (sqrt.f64 (/.f64 1 (pow.f64 y.re 13)))))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(-.f64 (+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re)) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))))
(+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im)))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re))))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (-.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) x.re)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re))) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4))))
(-.f64 (+.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) x.re)))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re))))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (-.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) x.re)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re))) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4))))
(-.f64 (+.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) x.re)))
(/.f64 x.re y.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re))
(+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re)))
(+.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3)))
(+.f64 (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re)) (-.f64 (/.f64 x.re y.re) (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im)))))
(+.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re))))
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (-.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) x.re)))
(-.f64 (+.f64 (/.f64 (*.f64 y.im x.im) (pow.f64 y.re 2)) (/.f64 x.re y.re)) (+.f64 (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4)) (/.f64 (*.f64 x.re (pow.f64 y.im 2)) (pow.f64 y.re 3))))
(-.f64 (+.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im x.im) (*.f64 y.re y.re))) (+.f64 (/.f64 x.re (/.f64 (pow.f64 y.re 3) (*.f64 y.im y.im))) (/.f64 (*.f64 (pow.f64 y.im 3) x.im) (pow.f64 y.re 4))))
(-.f64 (+.f64 (*.f64 (/.f64 y.im (*.f64 y.re y.re)) x.im) (-.f64 (/.f64 x.re y.re) (/.f64 (*.f64 y.im y.im) (/.f64 (pow.f64 y.re 3) x.re)))) (*.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im))
(-.f64 (fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re)) (fma.f64 (/.f64 (pow.f64 y.im 3) (pow.f64 y.re 4)) x.im (*.f64 (/.f64 y.im (/.f64 (pow.f64 y.re 3) y.im)) x.re)))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(-.f64 (+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re)) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))))
(+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im)))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 x.im y.im)
(+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im))
(+.f64 (/.f64 x.im y.im) (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)))
(+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re))
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3)))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im))))
(-.f64 (+.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re)) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im))
(-.f64 (+.f64 (/.f64 (*.f64 x.re y.re) (pow.f64 y.im 2)) (/.f64 x.im y.im)) (+.f64 (/.f64 (*.f64 x.re (pow.f64 y.re 3)) (pow.f64 y.im 4)) (/.f64 (*.f64 (pow.f64 y.re 2) x.im) (pow.f64 y.im 3))))
(+.f64 (/.f64 x.re (/.f64 (*.f64 y.im y.im) y.re)) (-.f64 (/.f64 x.im y.im) (+.f64 (/.f64 (*.f64 y.re y.re) (/.f64 (pow.f64 y.im 3) x.im)) (/.f64 x.re (/.f64 (pow.f64 y.im 4) (pow.f64 y.re 3))))))
(+.f64 (*.f64 (/.f64 x.re (*.f64 y.im y.im)) y.re) (-.f64 (-.f64 (/.f64 x.im y.im) (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))) (*.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im)))
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (fma.f64 (/.f64 y.re (/.f64 (pow.f64 y.im 3) y.re)) x.im (*.f64 (/.f64 x.re (pow.f64 y.im 4)) (pow.f64 y.re 3))))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im))
(*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re))
(/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re))
(*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re))
(/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re))
(*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re))
(/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re))
(*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im))
(*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2)))
(/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im))
(*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im)
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
(+.f64 (/.f64 (*.f64 y.im x.im) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))) (/.f64 (*.f64 x.re y.re) (+.f64 (pow.f64 y.im 2) (pow.f64 y.re 2))))
(+.f64 (/.f64 y.im (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) x.im)) (/.f64 x.re (/.f64 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) y.re)))
(+.f64 (*.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im) (/.f64 y.re (/.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) x.re)))
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))

prune225.0ms (3.8%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New2620262
Fresh088
Picked011
Done022
Total26211273
Error
0.0b
Counts
273 → 11
Alt Table
StatusErrorProgram
18.8b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1) (pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -1)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
25.9b
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (*.f64 (/.f64 y.re (fma.f64 y.im y.im (*.f64 y.re y.re))) x.re))
19.3b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
45.5b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 1/2 (*.f64 (/.f64 x.im y.im) (*.f64 (/.f64 y.re y.im) y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))))
18.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
44.7b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 (/.f64 y.im y.re) x.im x.re))
31.5b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
32.7b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
45.4b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im))) (fma.f64 (/.f64 y.im y.re) x.im x.re)))
18.7b
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))))
35.7b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
Compiler

Compiled 7548 to 3062 computations (59.4% saved)

regimes1.8s (30.7%)

Accuracy

Total 11.1b remaining (98.7%)

Threshold costs 0b (0%)

Counts
125 → 5
Compiler

Compiled 1901 to 601 computations (68.4% saved)

bsearch78.0ms (1.3%)

Algorithm
binary-search
Calls

4 calls:

21.0ms
y.re
19.0ms
y.re
19.0ms
y.re
18.0ms
y.re
Steps
ItersPointRange
4.6e+108
∈ [
9.463837206190796e+105
,
2.6391258116811346e+110
]
1.65e-284
∈ [
5.723641495699589e-287
,
2.4200332356711488e-284
]
-4.3e-27
∈ [
-1.2993655274094175e-24
,
-3.4214884908636154e-27
]
-1.1e+157
∈ [
-1.4794152847870823e+161
,
-4.896859542359616e+156
]
Compiler

Compiled 5 to 4 computations (20% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039130
149130
253130
355130
456130
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 y.re -11000000000000000579096624622099229724811856205164418514440927183130374970235005195884278819199667008947718465023338677185001436641974103902099051399828471808) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im))) (fma.f64 (/.f64 y.im y.re) x.im x.re))) (if (<=.f64 y.re -5993325272105105/1393796574908163946345982392040522594123776) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (if (<=.f64 y.re 5524966255804191/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168) (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (if (<=.f64 y.re 4599999999999999791358514920673086477436816347718764559058645143318450135930355308841482517761436103173210112) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 (/.f64 y.im y.re) x.im x.re))))))
Outputs
(if (<=.f64 y.re -11000000000000000579096624622099229724811856205164418514440927183130374970235005195884278819199667008947718465023338677185001436641974103902099051399828471808) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 (/.f64 y.im y.re) y.im))) (fma.f64 (/.f64 y.im y.re) x.im x.re))) (if (<=.f64 y.re -5993325272105105/1393796574908163946345982392040522594123776) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (if (<=.f64 y.re 5524966255804191/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168) (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (if (<=.f64 y.re 4599999999999999791358514920673086477436816347718764559058645143318450135930355308841482517761436103173210112) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 (/.f64 y.im y.re) x.im x.re))))))
(if (<=.f64 y.re -11000000000000000579096624622099229724811856205164418514440927183130374970235005195884278819199667008947718465023338677185001436641974103902099051399828471808) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 x.re y.re) (*.f64 y.im (/.f64 y.im y.re)))) (fma.f64 (/.f64 y.im y.re) x.im x.re))) (if (<=.f64 y.re -5993325272105105/1393796574908163946345982392040522594123776) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (if (<=.f64 y.re 5524966255804191/334846439745708537796382827831250565800439003657979252326171996365734703476542538279124493379904955664873335286735358382870982901778848138624518049209330462622955242963257218294408581408199098183686068192282702343236935664606211486223923248314908216080349889927704442739388432239144512088662677127168) (fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im)) (if (<=.f64 y.re 4599999999999999791358514920673086477436816347718764559058645143318450135930355308841482517761436103173210112) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 (/.f64 y.im y.re) x.im x.re))))))

end186.0ms (3.2%)

Stop Event
fuel
Compiler

Compiled 432 to 212 computations (50.9% saved)

Profiling

Loading profile data...