Details

Time bar (total: 10.4s)

analyze490.0ms (4.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
0%0%99.8%0.2%0%0%0%9
0%0%99.8%0.2%0%0%0%10
0%0%99.8%0.2%0%0%0%11
9.8%9.7%90.1%0.2%0%0%0%12
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.2s (11.8%)

Results
1.2s8256×body256valid
60.0ms496×body256infinite
Bogosity

preprocess16.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
039126
164126
274126
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 23 to 15 computations (34.8% 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)))

eval1.0ms (0%)

Compiler

Compiled 32 to 14 computations (56.3% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.9b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
29.9b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 36 to 20 computations (44.4% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 49 to 11 computations (77.6% saved)

series61.0ms (0.6%)

Counts
3 → 0
Calls

30 calls:

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

Compiled 7405 to 3655 computations (50.6% saved)

rewrite67.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
689×log-prod_binary64
506×fma-def_binary64
354×pow2_binary64
244×fma-neg_binary64
242×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01234
126432
2383132
Stop Event
node limit
Counts
3 → 165
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(+.f64 (*.f64 y.re y.re) (*.f64 y.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 (pow.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)))) 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 (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 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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))) 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)) (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 (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 (/.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 (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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.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)))))) (#(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 *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.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)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im 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)) 2) 1/2)))) (#(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 pow.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)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -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 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 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 -.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 (/.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) (/.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 (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)) (/.f64 1 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (/.f64 1 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))))))) (#(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.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))))) (#(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)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 x.re (*.f64 y.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (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 (neg.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (neg.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (neg.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))))) (#(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)) 2) 1/2)))) (#(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 pow.f64 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) -1)))) (#(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 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (pow.f64 (exp.f64 x.im) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.im) y.im) (+.f64 1 (expm1.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))) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))))) (#(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 log1p.f64 (expm1.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 fma.f64 x.re y.re (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re x.re (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re y.re) 1 (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im y.im (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.im x.im (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im y.im) 1 (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.re y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re y.re)) (pow.f64 (cbrt.f64 (*.f64 x.re y.re)) 2) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.re y.re)) 2) (cbrt.f64 (*.f64 x.re y.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.re y.re)) (sqrt.f64 (*.f64 x.re y.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 x.re y.re))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.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) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 y.re 4) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (neg.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (neg.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.im 4) (pow.f64 y.re 4)) (-.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re y.im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (pow.f64 (exp.f64 y.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y.im) y.im) (+.f64 1 (expm1.f64 (*.f64 y.re y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (+.f64 1 (expm1.f64 (*.f64 y.re y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re y.re (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.im y.im (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re y.re) 1 (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im y.im) 1 (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.im y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.im 4)) (pow.f64 (cbrt.f64 y.im) 2) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 y.re y.re))))))

simplify65.0ms (0.6%)

Algorithm
egg-herbie
Rules
784×fma-def_binary64
566×distribute-rgt-in_binary64
285×log-prod_binary64
210×cancel-sign-sub-inv_binary64
182×sqr-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03762825
19242720
231832520
Stop Event
node limit
Counts
165 → 189
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (log.f64 (pow.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)))) 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))))))
(+.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))))))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(*.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.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))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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))) 2))
(*.f64 (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))) 2) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.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))))
(*.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)))
(*.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))))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.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)))
(*.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)))
(*.f64 (/.f64 1 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (pow.f64 (cbrt.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))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.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 (/.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 (/.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)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(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)) 2) 1/2)
(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)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.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)) 1/3)
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(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))))
(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))
(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))))
(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)))))
(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))
(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)))
(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))))
(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))))
(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))))
(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))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) (/.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(*.f64 1 (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.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)))
(*.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))))
(*.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))))
(*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (/.f64 1 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (/.f64 1 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 x.re (*.f64 y.re (*.f64 x.im y.im))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (neg.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (neg.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))
(pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3)
(pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2))
(log.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (pow.f64 (exp.f64 x.im) y.im)))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.im) y.im) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))
(cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(log1p.f64 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(exp.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re y.re) 1 (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(fma.f64 y.im x.im (*.f64 x.re y.re))
(fma.f64 (*.f64 x.im y.im) 1 (*.f64 x.re y.re))
(fma.f64 1 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 1 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 x.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.re y.re)) (pow.f64 (cbrt.f64 (*.f64 x.re y.re)) 2) (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.re y.re)) 2) (cbrt.f64 (*.f64 x.re y.re)) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 x.re y.re))
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 x.re y.re))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 (sqrt.f64 (*.f64 x.re y.re)) (sqrt.f64 (*.f64 x.re y.re)) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 y.im (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 x.re y.re))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 y.re 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (neg.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (neg.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.im 4) (pow.f64 y.re 4)) (-.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2) 1/2)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) -1)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (pow.f64 (exp.f64 y.re) y.re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) y.im) (+.f64 1 (expm1.f64 (*.f64 y.re y.re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (+.f64 1 (expm1.f64 (*.f64 y.re y.re)))))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 (*.f64 y.re y.re) 1 (*.f64 y.im y.im))
(fma.f64 (*.f64 y.im y.im) 1 (*.f64 y.re y.re))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 1 (*.f64 y.im y.im) (*.f64 y.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im y.im))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) y.im) (*.f64 y.re y.re))
(fma.f64 (cbrt.f64 (pow.f64 y.im 4)) (pow.f64 (cbrt.f64 y.im) 2) (*.f64 y.re y.re))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) y.im) (*.f64 y.re y.re))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (*.f64 y.im y.im))
(fma.f64 (*.f64 y.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re y.re))
(fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 y.im y.im))
(fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 y.re y.re))
Outputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (log.f64 (pow.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)))) 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))))))
(+.f64 (*.f64 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)))))) (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))))))
(*.f64 3 (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))))))
(+.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))))))
(*.f64 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))))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (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 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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))) 2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (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))) 2) (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (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 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (pow.f64 (cbrt.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))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.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 (/.f64 1 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2)) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.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 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(/.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (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 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)) 2) 1/2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.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)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)))))
(/.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)) 3))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(-.f64 (/.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))) (/.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(*.f64 1 (fma.f64 x.re y.re (*.f64 x.im y.im)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(*.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)))
(*.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))))
(*.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))))
(*.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))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (/.f64 1 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.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 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.im y.im) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (/.f64 1 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.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 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.im y.im) 2)))
(/.f64 1 (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.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 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.im y.im) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 x.re (*.f64 y.re (*.f64 x.im y.im))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.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 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.im y.im) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (neg.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.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 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.im y.im) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (neg.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2) 1/2)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) 1/3)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.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 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.im y.im) 2)))
(pow.f64 (/.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im)))
(sqrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (pow.f64 (exp.f64 x.im) y.im)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.im) y.im) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))
(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)) 3))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(expm1.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log1p.f64 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re y.re) 1 (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 y.im x.im (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im y.im) 1 (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 1 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 1 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 y.im (cbrt.f64 x.im)) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re (cbrt.f64 x.re)) (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re (cbrt.f64 x.re))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re y.re)) (pow.f64 (cbrt.f64 (*.f64 x.re y.re)) 2) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.re y.re)) 2) (cbrt.f64 (*.f64 x.re y.re)) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.re y.re)) (sqrt.f64 (*.f64 x.re y.re)) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re (cbrt.f64 x.re)) (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re (cbrt.f64 x.re))))
(fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.im (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 y.im (cbrt.f64 x.im)) (*.f64 x.re y.re))
(fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) 1) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))))
(/.f64 (*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) 1) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) 1) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 y.re 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) 1) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (neg.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) 1) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (neg.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (-.f64 (pow.f64 y.im 4) (pow.f64 y.re 4)) (-.f64 (*.f64 y.im y.im) (*.f64 y.re y.re)))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2) 1/2)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3) 1/3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) 1) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.im 4))))
(pow.f64 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) -1)
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (pow.f64 (exp.f64 y.re) y.re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) y.im) (+.f64 1 (expm1.f64 (*.f64 y.re y.re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (+.f64 1 (expm1.f64 (*.f64 y.re y.re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3))
(pow.f64 (hypot.f64 y.re y.im) 2)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))
(pow.f64 (hypot.f64 y.re y.im) 2)
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re y.re) 1 (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 y.im y.im) 1 (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 1 (*.f64 y.im y.im) (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4))))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) y.im) (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (cbrt.f64 (pow.f64 y.im 4)) (pow.f64 (cbrt.f64 y.im) 2) (*.f64 y.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.re y.re))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) y.im) (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 y.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 y.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 y.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(+.f64 (*.f64 y.im (log.f64 (exp.f64 y.im))) (log1p.f64 (expm1.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y.re y.re (*.f64 y.im y.im))
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
29.3b
(/.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 39 to 9 computations (76.9% saved)

series58.0ms (0.6%)

Counts
3 → 0
Calls

30 calls:

TimeVariablePointExpression
1.0ms
x.im
@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
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
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)))
0.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)))
Compiler

Compiled 7405 to 3655 computations (50.6% saved)

rewrite58.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
512×log-prod_binary64
397×exp-prod_binary64
340×pow-prod-down_binary64
271×pow2_binary64
271×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01034
120332
2257332
Stop Event
node limit
Counts
3 → 119
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))
(fma.f64 y.re y.re (*.f64 y.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.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 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.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 (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 (*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (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))) (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))) (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 (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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.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)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (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))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.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)))))) (#(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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 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 pow.f64 (exp.f64 1) (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 pow.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.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 (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 pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (sqrt.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 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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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 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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(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) 6)))))) (#(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 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 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 exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.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 exp.f64 (*.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) 1))))))
((#(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 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (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)) (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.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 (pow.f64 (*.f64 x.re y.re) 2) (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)) 2) 1/2)))) (#(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 pow.f64 (exp.f64 1) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (cbrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))) (sqrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(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 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.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 log1p.f64 (expm1.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 exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y.re y.re) 1) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.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 (pow.f64 (hypot.f64 y.re y.im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re y.im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))) (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (pow.f64 (exp.f64 y.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1) 1))))))

simplify116.0ms (1.1%)

Algorithm
egg-herbie
Rules
774×fma-def_binary64
589×unswap-sqr_binary64
450×associate-/r*_binary64
340×distribute-rgt-in_binary64
330×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02921908
16641843
222541841
Stop Event
node limit
Counts
119 → 141
Calls
Call 1
Inputs
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 1 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.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))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.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)))
(*.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))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.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))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.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)))
(*.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)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.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 (/.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 (/.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)))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3)
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.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 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (sqrt.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(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))))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(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)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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) 6)))
(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))))
(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))))
(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))))
(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))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(exp.f64 (*.f64 (log.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))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im)))) -1))
(exp.f64 (*.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) 1))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(+.f64 0 (fma.f64 x.re y.re (*.f64 x.im y.im)))
(+.f64 (*.f64 (*.f64 x.re y.re) 1) (*.f64 x.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(+.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))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(*.f64 1 (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.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)))
(*.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))))
(*.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))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3)
(pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (cbrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))) (sqrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(sqrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2))
(log.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(log1p.f64 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(exp.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) 1))
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 (*.f64 y.re y.re) 1) (*.f64 y.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))) (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))))
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (pow.f64 (exp.f64 y.re) y.re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) 3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1) 1))
Outputs
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 1 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.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))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (cbrt.f64 (pow.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)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.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)))))
(*.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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)))
(*.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))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2)) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.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 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.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 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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)))
(*.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))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.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 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (sqrt.f64 (log.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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) 6)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im)))) -1))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.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) 1))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(+.f64 0 (fma.f64 x.re y.re (*.f64 x.im y.im)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(+.f64 (*.f64 (*.f64 x.re y.re) 1) (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(+.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))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(*.f64 1 (fma.f64 x.re y.re (*.f64 x.im y.im)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(*.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)))
(*.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))))
(*.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))))
(*.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))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 x.re (*.f64 y.re (*.f64 x.im y.im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 x.re y.re (*.f64 x.im (neg.f64 y.im))))
(pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2) 1/2)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) 1/3)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2)) (cbrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))) (sqrt.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(sqrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 2))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(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)) 3))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(expm1.f64 (log1p.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(log1p.f64 (expm1.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1/3))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 3))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 2))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) 1))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(+.f64 (*.f64 (*.f64 y.re y.re) 1) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(pow.f64 (hypot.f64 y.re y.im) 2)
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.re 4))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (+.f64 y.re y.im)) (-.f64 y.re y.im))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 4) 1/2)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) 1/3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) 3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))) (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im)))))
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.im y.im))) (pow.f64 (exp.f64 y.re) y.re)))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 6))
(pow.f64 (hypot.f64 y.re y.im) 2)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) 3))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1) 1))
(pow.f64 (hypot.f64 y.re y.im) 2)

eval83.0ms (0.8%)

Compiler

Compiled 6649 to 2101 computations (68.4% saved)

prune74.0ms (0.7%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New31416330
Fresh000
Picked101
Done011
Total31517332
Error
18.6b
Counts
332 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
41.4b
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
48.1b
(/.f64 (fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
45.5b
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
29.9b
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
46.4b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
30.2b
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
22.3b
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))
48.1b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
48.1b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
29.9b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
46.8b
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
29.4b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
29.9b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
38.5b
(*.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)))
19.4b
(*.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)))
53.0b
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
Compiler

Compiled 701 to 421 computations (39.9% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
0.3b
(*.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)))
18.2b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
Compiler

Compiled 52 to 14 computations (73.1% saved)

series113.0ms (1.1%)

Counts
2 → 0
Calls

24 calls:

TimeVariablePointExpression
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
x.re
@0
(*.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)))
1.0ms
y.re
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
1.0ms
y.im
@0
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
1.0ms
x.im
@-inf
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
Compiler

Compiled 11315 to 7140 computations (36.9% saved)

rewrite58.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
614×log-prod_binary64
411×pow-prod-down_binary64
310×pow2_binary64
254×prod-diff_binary64
231×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01234
124531
2312931
Stop Event
node limit
Counts
2 → 102
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)))
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 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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)) (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 (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) 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 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.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))) (cbrt.f64 (pow.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 (/.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)) 2) 1/2)))) (#(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 pow.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)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 3)))) (#(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 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 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 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 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 +.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.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 (pow.f64 (exp.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 (/.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) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))))) (#(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)) (cbrt.f64 (pow.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 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 (/.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)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.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)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.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)))) -1)))) (#(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 pow.f64 (/.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(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 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 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 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))))))

simplify75.0ms (0.7%)

Algorithm
egg-herbie
Rules
499×fma-def_binary64
403×distribute-rgt-in_binary64
401×distribute-lft-in_binary64
383×associate-/r/_binary64
369×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02321842
15401758
219751746
Stop Event
node limit
Counts
102 → 120
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(+.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))))
(+.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)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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)) (hypot.f64 y.re y.im))))))
(+.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))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1)
(*.f64 1 (/.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)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.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))))
(*.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))
(*.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))))
(*.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))))
(*.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))))
(*.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))))
(*.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))))
(*.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))))
(*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (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))))
(*.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)))
(*.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)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.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))))
(*.f64 (/.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))) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.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))))
(*.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))))
(*.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))))
(*.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))))
(*.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))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1)
(pow.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2) 1/2)
(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)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 3)
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.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)) 1/3)
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(pow.f64 (*.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 3)
(neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (neg.f64 (hypot.f64 y.re y.im))))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3))
(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)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(exp.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1))
(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)))
(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))))
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.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))
(/.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)))
(/.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)))))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.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))))
(/.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))))
(/.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)))))
(/.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)))))
(/.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)))))
(/.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)))))
(/.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))))
(/.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)))))
(/.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)))
(/.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)))
(/.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))))
(/.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)))
(/.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)))
(/.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))))
(/.f64 (*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) -1) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (*.f64 -1 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(/.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)))
(/.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))
(/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (hypot.f64 y.re y.im)))
(/.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)))
(/.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)))
(/.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)))
(/.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)))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.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)) 1/3)
(pow.f64 (*.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)) -1)
(pow.f64 (*.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)))) -1)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.f64 (/.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))) -1)
(pow.f64 (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im))) 2)
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(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)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)))
(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))))
(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))))
(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))))
(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))
Outputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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 (*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(+.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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)) (hypot.f64 y.re y.im))))))
(+.f64 (*.f64 2 (log.f64 (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))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))
(+.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))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(*.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im)))))
(*.f64 (cbrt.f64 (pow.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))))
(*.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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -1/2)) (sqrt.f64 (hypot.f64 y.re y.im)))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(/.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))) (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.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 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (neg.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))
(*.f64 (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))))
(*.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.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))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (*.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 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.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))) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.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))) (cbrt.f64 (hypot.f64 y.re y.im)))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.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))))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (hypot.f64 y.re y.im)))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im)))))
(*.f64 (cbrt.f64 (pow.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))))
(*.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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(pow.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2) 1/2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(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)
(/.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))) 3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.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)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (*.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (neg.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))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(log.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(exp.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) -1) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 -1 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (hypot.f64 y.re y.im)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (hypot.f64 y.re y.im)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.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)) 1/3)
(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)))
(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) 6)))
(pow.f64 (*.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)) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.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)))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.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))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im))) 2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)))
(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) 6)))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
0.3b
(fma.f64 y.re x.re (*.f64 x.im y.im))
29.3b
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 44 to 10 computations (77.3% saved)

series45.0ms (0.4%)

Counts
2 → 0
Calls

24 calls:

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

Compiled 6525 to 2985 computations (54.3% saved)

rewrite88.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
767×prod-diff_binary64
586×log-prod_binary64
311×pow2_binary64
249×fma-def_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01126
123425
2319625
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 y.re x.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 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.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 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (cbrt.f64 (/.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.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 x.im y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y.re x.re) 1) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 y.re x.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.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 y.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 y.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))))))

simplify57.0ms (0.5%)

Algorithm
egg-herbie
Rules
819×fma-def_binary64
615×unswap-sqr_binary64
348×associate-/r*_binary64
300×*-commutative_binary64
202×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01891180
14521121
220111119
Stop Event
node limit
Counts
71 → 89
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(*.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2) 1/2)
(pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 3)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) -1)
(pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) -1)
(neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(exp.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))
(+.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))
(+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(+.f64 0 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(+.f64 (*.f64 (*.f64 y.re x.re) 1) (*.f64 x.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(*.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 y.re x.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3)
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)
(sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))
(log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (exp.f64 (*.f64 y.re x.re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 y.re x.re))))
(log.f64 (*.f64 (exp.f64 (*.f64 y.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))
Outputs
(+.f64 0 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 y.re y.re (neg.f64 (*.f64 y.im y.im))))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2) 1/2)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3) 1/3)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 3)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)) 1/3)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) -1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(exp.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 0 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 (*.f64 (*.f64 y.re x.re) 1) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 y.re x.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 y.re x.re) 2) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 y.re (*.f64 x.re (*.f64 x.im y.im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 y.re x.re) 2) (*.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (neg.f64 (*.f64 x.im y.im))))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/2)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/3)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (exp.f64 (*.f64 y.re x.re))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 y.re x.re))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (exp.f64 (*.f64 y.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))
(fma.f64 y.re x.re (*.f64 x.im y.im))

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (hypot.f64 y.re y.im) 2)
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
0.9b
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
28.7b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
Compiler

Compiled 48 to 20 computations (58.3% saved)

series273.0ms (2.6%)

Counts
3 → 0
Calls

24 calls:

TimeVariablePointExpression
9.0ms
x.im
@inf
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
4.0ms
y.re
@0
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
3.0ms
y.im
@0
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
1.0ms
y.im
@inf
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
1.0ms
y.re
@inf
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
Compiler

Compiled 16945 to 13350 computations (21.2% saved)

rewrite95.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
578×log-prod_binary64
374×pow-prod-down_binary64
313×pow2_binary64
242×prod-diff_binary64
221×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
126731
2307531
Stop Event
node limit
Counts
3 → 122
Calls
Call 1
Inputs
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
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 (*.f64 (*.f64 x.re y.re) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 x.im y.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 x.re y.re)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.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 (pow.f64 (exp.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 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 (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 (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 (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 (/.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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 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 (cbrt.f64 (hypot.f64 y.re y.im)) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (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 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 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 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3)))) (#(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 sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(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) 6)))))) (#(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 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 exp.f64 (fma.f64 -2 (log.f64 (hypot.f64 y.re y.im)) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 -2 (log.f64 (hypot.f64 y.re y.im)) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.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 fma.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.re y.re) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re y.re) (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 (*.f64 x.im y.im) (pow.f64 (hypot.f64 y.re y.im) -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.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 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (pow.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)) -4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.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) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) -4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) -6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -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)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -2 (log.f64 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (hypot.f64 y.re y.im))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4) (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) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (hypot.f64 y.re y.im) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 5) (cbrt.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (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) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y.im y.im)) (exp.f64 (*.f64 y.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y.re y.re)) (exp.f64 (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 y.re y.im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re y.re (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.im y.im (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.im y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.im) (pow.f64 y.im 3/2) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (pow.f64 y.re 3/2) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 y.re) y.re) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 y.im) y.im) (pow.f64 (cbrt.f64 y.im) 2) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y.re 3/2) (sqrt.f64 y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y.im 3/2) (sqrt.f64 y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 5) (cbrt.f64 y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.im) 5) (cbrt.f64 y.im) (*.f64 y.re y.re))))))

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
521×associate-*l*_binary64
489×fma-def_binary64
468×associate-*r*_binary64
410×fma-neg_binary64
256×associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02814294968781
16091477
216431477
374671477
Stop Event
node limit
Counts
122 → 135
Calls
Call 1
Inputs
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (*.f64 (*.f64 x.re y.re) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 x.im y.im) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.re y.re)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.im y.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.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)))))
(/.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)))))
(/.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)))
(/.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))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (*.f64 -1 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(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)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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) 6)))
(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))))
(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))))
(exp.f64 (fma.f64 -2 (log.f64 (hypot.f64 y.re y.im)) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(exp.f64 (*.f64 (fma.f64 -2 (log.f64 (hypot.f64 y.re y.im)) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(exp.f64 (*.f64 (log.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))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(fma.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.re y.re) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.im y.im)))
(fma.f64 (*.f64 x.re y.re) (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 (*.f64 x.im y.im) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 1)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 -1 (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 4) -1/2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) -1/3)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) -4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) -6) 1/3)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -2/3)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) 3)
(pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -6)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) -3)
(pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -4)
(pow.f64 (neg.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) -1)
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(exp.f64 (*.f64 -2 (log.f64 (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) -2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) -1))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (hypot.f64 y.re y.im))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -6)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) 3))
(exp.f64 (*.f64 (neg.f64 (log.f64 (hypot.f64 y.re y.im))) 2))
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))
(*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (hypot.f64 y.re y.im) 3/2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 3/2) (sqrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 5) (cbrt.f64 (hypot.f64 y.re y.im)))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (hypot.f64 y.re y.im) (/.f64 1 (hypot.f64 y.re y.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) -1)
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (*.f64 (exp.f64 (*.f64 y.im y.im)) (exp.f64 (*.f64 y.re y.re))))
(log.f64 (*.f64 (exp.f64 (*.f64 y.re y.re)) (exp.f64 (*.f64 y.im y.im))))
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 y.re y.im)))) 3))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 1 (*.f64 y.im y.im) (*.f64 y.re y.re))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) y.im) (*.f64 y.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im y.im))
(fma.f64 (sqrt.f64 y.im) (pow.f64 y.im 3/2) (*.f64 y.re y.re))
(fma.f64 (sqrt.f64 y.re) (pow.f64 y.re 3/2) (*.f64 y.im y.im))
(fma.f64 (*.f64 (cbrt.f64 y.re) y.re) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))
(fma.f64 (*.f64 (cbrt.f64 y.im) y.im) (pow.f64 (cbrt.f64 y.im) 2) (*.f64 y.re y.re))
(fma.f64 (pow.f64 y.re 3/2) (sqrt.f64 y.re) (*.f64 y.im y.im))
(fma.f64 (pow.f64 y.im 3/2) (sqrt.f64 y.im) (*.f64 y.re y.re))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 5) (cbrt.f64 y.re) (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 5) (cbrt.f64 y.im) (*.f64 y.re y.re))
Outputs
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (*.f64 (*.f64 x.re y.re) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 x.im y.im) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.re y.re)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.im y.im)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 -1 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3)
(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) 6)))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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) 6)))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (fma.f64 -2 (log.f64 (hypot.f64 y.re y.im)) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (fma.f64 -2 (log.f64 (hypot.f64 y.re y.im)) (log.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)))) 1))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(fma.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.re y.re) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 x.im y.im)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(fma.f64 (*.f64 x.re y.re) (pow.f64 (hypot.f64 y.re y.im) -2) (*.f64 (*.f64 x.im y.im) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 -1 (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 4) -1/2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) -1/3)
(*.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) -1/6) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 6) -1/6))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) -4) 1/2)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) -6) 1/3)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -2/3)
(*.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -1/6) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -1/6)) (*.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -1/6) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 3) -1/6)))
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) 3)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -6)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) -3)
(pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (sqrt.f64 (hypot.f64 y.re y.im)) -4)
(pow.f64 (neg.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) -1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (hypot.f64 y.re y.im) -2)
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -6))
(pow.f64 (hypot.f64 y.re y.im) -2)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 -2 (log.f64 (hypot.f64 y.re y.im))))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (log.f64 (hypot.f64 y.re y.im)) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) -1))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (hypot.f64 y.re y.im))) 1))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -6)) 1/3))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) 3))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (neg.f64 (log.f64 (hypot.f64 y.re y.im))) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (hypot.f64 y.re y.im) 3/2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 3/2) (sqrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (hypot.f64 y.re y.im) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 5) (cbrt.f64 (hypot.f64 y.re y.im)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(/.f64 (hypot.f64 y.re y.im) (/.f64 1 (hypot.f64 y.re y.im)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) -1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (-.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 (*.f64 y.re y.im) 2) (pow.f64 y.re 4))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (*.f64 (exp.f64 (*.f64 y.im y.im)) (exp.f64 (*.f64 y.re y.re))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(log.f64 (*.f64 (exp.f64 (*.f64 y.re y.re)) (exp.f64 (*.f64 y.im y.im))))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 6))
(pow.f64 (hypot.f64 y.re y.im) 2)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) 1))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 6)) 1/3))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 y.re y.im)))) 3))
(pow.f64 (hypot.f64 y.re y.im) 2)
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 1 (*.f64 y.im y.im) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) y.im) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (sqrt.f64 y.im) (pow.f64 y.im 3/2) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 (sqrt.f64 y.im) (pow.f64 y.im 3/2)))
(fma.f64 (sqrt.f64 y.re) (pow.f64 y.re 3/2) (*.f64 y.im y.im))
(fma.f64 (*.f64 (cbrt.f64 y.re) y.re) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (*.f64 (cbrt.f64 y.im) y.im) (pow.f64 (cbrt.f64 y.im) 2) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (pow.f64 y.re 3/2) (sqrt.f64 y.re) (*.f64 y.im y.im))
(fma.f64 (sqrt.f64 y.re) (pow.f64 y.re 3/2) (*.f64 y.im y.im))
(fma.f64 (pow.f64 y.im 3/2) (sqrt.f64 y.im) (*.f64 y.re y.re))
(fma.f64 (sqrt.f64 y.im) (pow.f64 y.im 3/2) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 (sqrt.f64 y.im) (pow.f64 y.im 3/2)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 5) (cbrt.f64 y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 5) (cbrt.f64 y.im) (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
0.1b
(*.f64 x.im (sqrt.f64 y.im))
0.3b
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re))
13.8b
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 58 to 12 computations (79.3% saved)

series164.0ms (1.6%)

Counts
3 → 0
Calls

30 calls:

TimeVariablePointExpression
18.0ms
x.re
@0
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
2.0ms
y.im
@inf
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
2.0ms
y.im
@0
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
1.0ms
x.im
@0
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
1.0ms
y.im
@-inf
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 14095 to 8865 computations (37.1% saved)

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
802×prod-diff_binary64
690×log-prod_binary64
267×fma-def_binary64
242×expm1-udef_binary64
242×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01346
127435
2366831
Stop Event
node limit
Counts
3 → 86
Calls
Call 1
Inputs
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re))
(*.f64 x.im (sqrt.f64 y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (*.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)) (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) 1) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 1) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (hypot.f64 y.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 y.re y.re (neg.f64 (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (fma.f64 x.im y.im (*.f64 x.re y.re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (fma.f64 x.im y.im (*.f64 x.re y.re))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (neg.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3) (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 1))))))
((#(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 (*.f64 x.im y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.im y.im) 1) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 3) (pow.f64 (*.f64 x.re y.re) 3)) (fma.f64 (*.f64 x.im y.im) (*.f64 x.im y.im) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (exp.f64 (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (exp.f64 (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x.im y.im)) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (sqrt.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)) (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x.im (sqrt.f64 y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.im (sqrt.f64 y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.im (sqrt.f64 y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x.im (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (sqrt.f64 y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y.im 3/2) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.im (sqrt.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.im (sqrt.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.im (sqrt.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.im (sqrt.f64 y.im))) 1))))))

simplify68.0ms (0.7%)

Algorithm
egg-herbie
Rules
874×fma-def_binary64
678×unswap-sqr_binary64
578×associate-*l/_binary64
317×associate-/r*_binary64
227×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02271422
15201355
221781300
Stop Event
node limit
Counts
86 → 114
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))) 1)
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 1)
(*.f64 1 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (*.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)))
(*.f64 (neg.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)) (fma.f64 x.im y.im (*.f64 x.re y.re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) 1) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 1) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (hypot.f64 y.im y.re)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 y.re y.re (neg.f64 (*.f64 y.im y.im))))
(pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 1)
(pow.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 3)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (fma.f64 x.im y.im (*.f64 x.re y.re))) -1)
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (fma.f64 x.im y.im (*.f64 x.re y.re))) 1) -1)
(neg.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (neg.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3) (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 3)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(exp.f64 (log.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 1))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(+.f64 0 (fma.f64 x.im y.im (*.f64 x.re y.re)))
(+.f64 (*.f64 (*.f64 x.im y.im) 1) (*.f64 x.re y.re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) 1)
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 1)
(*.f64 1 (fma.f64 x.im y.im (*.f64 x.re y.re)))
(*.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 3) (pow.f64 (*.f64 x.re y.re) 3)) (fma.f64 (*.f64 x.im y.im) (*.f64 x.im y.im) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))))
(/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))
(pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 1)
(pow.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 3)
(pow.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2))
(log.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (exp.f64 (*.f64 x.im y.im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (exp.f64 (*.f64 x.im y.im))))
(log.f64 (*.f64 (exp.f64 (*.f64 x.im y.im)) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))
(cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(log1p.f64 (expm1.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(exp.f64 (log.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 1))
(+.f64 0 (*.f64 x.im (sqrt.f64 y.im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)) (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x.im (sqrt.f64 y.im)))) 1)
(pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 1)
(pow.f64 (pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x.im (sqrt.f64 y.im))) 3)
(pow.f64 (sqrt.f64 (*.f64 x.im (sqrt.f64 y.im))) 2)
(sqrt.f64 (*.f64 x.im (*.f64 x.im y.im)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (sqrt.f64 y.im)))))
(cbrt.f64 (pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 3))
(cbrt.f64 (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3/2)))
(cbrt.f64 (*.f64 (pow.f64 y.im 3/2) (pow.f64 x.im 3)))
(expm1.f64 (log1p.f64 (*.f64 x.im (sqrt.f64 y.im))))
(log1p.f64 (expm1.f64 (*.f64 x.im (sqrt.f64 y.im))))
(exp.f64 (log.f64 (*.f64 x.im (sqrt.f64 y.im))))
(exp.f64 (*.f64 (log.f64 (*.f64 x.im (sqrt.f64 y.im))) 1))
Outputs
(+.f64 0 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))) 1)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 1)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 1 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (*.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 2))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (neg.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)) (fma.f64 x.im y.im (*.f64 x.re y.re)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) 1) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 1) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 4)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 4)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 4)) (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 4))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 2))) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 4)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 4)) (cbrt.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (hypot.f64 y.im y.re)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.im y.re) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (pow.f64 (hypot.f64 y.im y.re) 2)))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.im y.re) 2))))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.im y.re) 2)))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 (*.f64 y.im y.re) 2) (pow.f64 y.re 4))))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 y.re y.re (neg.f64 (*.f64 y.im y.im))))
(*.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 y.re y.re (*.f64 y.im (neg.f64 y.im))))
(/.f64 (*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 1)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(pow.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 3) 1/3)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 3)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (hypot.f64 y.im y.re)) 2)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (fma.f64 x.im y.im (*.f64 x.re y.re))) -1)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.im y.re) 2) (fma.f64 x.im y.im (*.f64 x.re y.re))) 1) -1)
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(neg.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (neg.f64 (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 2))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2)) 3))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3) (pow.f64 (pow.f64 (hypot.f64 y.im y.re) 2) 3)))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(exp.f64 (log.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))) 1))
(/.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) (pow.f64 (hypot.f64 y.im y.re) 2))
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(+.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(+.f64 0 (fma.f64 x.im y.im (*.f64 x.re y.re)))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(+.f64 (*.f64 (*.f64 x.im y.im) 1) (*.f64 x.re y.re))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))) 1)
(fma.f64 x.im y.im (*.f64 x.re y.re))
(*.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 1)
(fma.f64 x.im y.im (*.f64 x.re y.re))
(*.f64 1 (fma.f64 x.im y.im (*.f64 x.re y.re)))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(*.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(*.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 3) (pow.f64 (*.f64 x.re y.re) 3)) (fma.f64 (*.f64 x.im y.im) (*.f64 x.im y.im) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 3) (pow.f64 (*.f64 x.re y.re) 3)) (fma.f64 (*.f64 x.im y.im) (*.f64 x.im y.im) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 x.im (*.f64 y.im (*.f64 x.re y.re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 3) (pow.f64 (*.f64 x.re y.re) 3)) (fma.f64 x.im (*.f64 y.im (*.f64 x.im y.im)) (*.f64 (*.f64 x.re y.re) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))
(/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)))
(/.f64 (-.f64 (*.f64 x.im (*.f64 x.im (*.f64 y.im y.im))) (pow.f64 (*.f64 x.re y.re) 2)) (fma.f64 x.im y.im (*.f64 x.re (neg.f64 y.re))))
(pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 1)
(fma.f64 x.im y.im (*.f64 x.re y.re))
(pow.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3) 1/3)
(fma.f64 x.im y.im (*.f64 x.re y.re))
(pow.f64 (cbrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 3)
(fma.f64 x.im y.im (*.f64 x.re y.re))
(pow.f64 (sqrt.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 2)
(fma.f64 x.im y.im (*.f64 x.re y.re))
(sqrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 2))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(log.f64 (exp.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (exp.f64 (*.f64 x.im y.im))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re y.re))) (exp.f64 (*.f64 x.im y.im))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(log.f64 (*.f64 (exp.f64 (*.f64 x.im y.im)) (+.f64 1 (expm1.f64 (*.f64 x.re y.re)))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(cbrt.f64 (pow.f64 (fma.f64 x.im y.im (*.f64 x.re y.re)) 3))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(expm1.f64 (log1p.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(log1p.f64 (expm1.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(exp.f64 (log.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(exp.f64 (*.f64 (log.f64 (fma.f64 x.im y.im (*.f64 x.re y.re))) 1))
(fma.f64 x.im y.im (*.f64 x.re y.re))
(+.f64 0 (*.f64 x.im (sqrt.f64 y.im)))
(*.f64 x.im (sqrt.f64 y.im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)) (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))))
(*.f64 x.im (sqrt.f64 y.im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x.im (sqrt.f64 y.im)))) 1)
(*.f64 x.im (sqrt.f64 y.im))
(pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 1)
(*.f64 x.im (sqrt.f64 y.im))
(pow.f64 (pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 3) 1/3)
(*.f64 x.im (sqrt.f64 y.im))
(pow.f64 (cbrt.f64 (*.f64 x.im (sqrt.f64 y.im))) 3)
(*.f64 x.im (sqrt.f64 y.im))
(pow.f64 (sqrt.f64 (*.f64 x.im (sqrt.f64 y.im))) 2)
(*.f64 x.im (sqrt.f64 y.im))
(sqrt.f64 (*.f64 x.im (*.f64 x.im y.im)))
(sqrt.f64 (*.f64 y.im (*.f64 x.im x.im)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 y.im)) x.im))
(*.f64 x.im (sqrt.f64 y.im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (sqrt.f64 y.im)))))
(*.f64 x.im (sqrt.f64 y.im))
(cbrt.f64 (pow.f64 (*.f64 x.im (sqrt.f64 y.im)) 3))
(*.f64 x.im (sqrt.f64 y.im))
(cbrt.f64 (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3/2)))
(cbrt.f64 (*.f64 (pow.f64 y.im 3/2) (pow.f64 x.im 3)))
(cbrt.f64 (*.f64 (pow.f64 x.im 3) (pow.f64 y.im 3/2)))
(expm1.f64 (log1p.f64 (*.f64 x.im (sqrt.f64 y.im))))
(*.f64 x.im (sqrt.f64 y.im))
(log1p.f64 (expm1.f64 (*.f64 x.im (sqrt.f64 y.im))))
(*.f64 x.im (sqrt.f64 y.im))
(exp.f64 (log.f64 (*.f64 x.im (sqrt.f64 y.im))))
(*.f64 x.im (sqrt.f64 y.im))
(exp.f64 (*.f64 (log.f64 (*.f64 x.im (sqrt.f64 y.im))) 1))
(*.f64 x.im (sqrt.f64 y.im))

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (hypot.f64 y.re y.im) -2)
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
0.3b
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
1.9b
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
Compiler

Compiled 59 to 22 computations (62.7% saved)

series434.0ms (4.2%)

Counts
3 → 0
Calls

30 calls:

TimeVariablePointExpression
38.0ms
x.im
@inf
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
32.0ms
x.re
@inf
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
16.0ms
x.im
@-inf
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
15.0ms
x.re
@-inf
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
11.0ms
x.re
@0
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
Compiler

Compiled 30375 to 22270 computations (26.7% saved)

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
603×log-prod_binary64
388×pow-prod-down_binary64
337×pow2_binary64
311×pow-pow_binary64
279×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01343
126343
2306943
Stop Event
node limit
Counts
3 → 102
Calls
Call 1
Inputs
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(pow.f64 (hypot.f64 y.re y.im) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (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 +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.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))))) 2)) (log.f64 (cbrt.f64 (exp.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 +.f64 (log.f64 (sqrt.f64 (exp.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)))))) (log.f64 (sqrt.f64 (exp.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 -.f64 (exp.f64 (log1p.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))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.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))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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 *.f64 (cbrt.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)))) (pow.f64 (cbrt.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)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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)))) 2) (cbrt.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 *.f64 (sqrt.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)))) (sqrt.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 *.f64 (pow.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))) (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 *.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.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 *.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (sqrt.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 *.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 y.re x.re) 1)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))) (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (pow.f64 (exp.f64 1) (*.f64 1/3 (*.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 (pow.f64 (exp.f64 1) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 1) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 (*.f64 y.re x.re) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 1) (*.f64 (*.f64 y.im x.im) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))) (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.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 (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 cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.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 log1p.f64 (expm1.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 exp.f64 (*.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 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.f64 2 (*.f64 1/3 (*.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 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) (*.f64 1/3 (*.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 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.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 (*.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 (log.f64 (pow.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (log.f64 (pow.f64 (cbrt.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 +.f64 (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (log.f64 (pow.f64 (sqrt.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 +.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re))) (log.f64 (pow.f64 (exp.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 (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 *.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 (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) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.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 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (log.f64 (pow.f64 (exp.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))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (*.f64 (cbrt.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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (*.f64 (pow.f64 (cbrt.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 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (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 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2) (cbrt.f64 (*.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (sqrt.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (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 (/.f64 1 (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 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (*.f64 2 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (*.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 1/3 (*.f64 3 (*.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 (fma.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (hypot.f64 y.re y.im))) (/.f64 1 (hypot.f64 y.re y.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 (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 pow.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (pow.f64 (hypot.f64 y.re y.im) -4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (pow.f64 (hypot.f64 y.re y.im) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.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 log1p.f64 (expm1.f64 (*.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 exp.f64 (log.f64 (*.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 exp.f64 (*.f64 (log.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 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 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 +.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.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 (pow.f64 (hypot.f64 y.re y.im) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.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 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (pow.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)) -4) (pow.f64 (cbrt.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) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) 1))))))

simplify87.0ms (0.8%)

Algorithm
egg-herbie
Rules
444×associate-/l*_binary64
427×associate-+r+_binary64
423×associate-+l+_binary64
260×exp-prod_binary64
216×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02301758
15161721
223021715
378381715
Stop Event
node limit
Counts
102 → 121
Calls
Call 1
Inputs
(+.f64 0 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.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))))) 2)) (log.f64 (cbrt.f64 (exp.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)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.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)))))) (log.f64 (sqrt.f64 (exp.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)))))))
(-.f64 (exp.f64 (log1p.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))))) 1)
(*.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))) 1)
(*.f64 1 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (cbrt.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)))) (pow.f64 (cbrt.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)))) 2))
(*.f64 (pow.f64 (cbrt.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)))) 2) (cbrt.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)))))
(*.f64 (sqrt.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)))) (sqrt.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)))))
(*.f64 (pow.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re)))
(*.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 y.re x.re) 1)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))) (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (pow.f64 (exp.f64 1) (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 1) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 (*.f64 y.re x.re) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 1) (*.f64 (*.f64 y.im x.im) (pow.f64 (hypot.f64 y.re y.im) -2))))
(/.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(/.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))) (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (pow.f64 (exp.f64 1) 1))
(sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log.f64 (exp.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)))))
(log.f64 (+.f64 1 (expm1.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))))))
(cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3)))
(expm1.f64 (log1p.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)))))
(log1p.f64 (expm1.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)))))
(exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 0)
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(+.f64 (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(+.f64 (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 0 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.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)))
(+.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)))
(+.f64 (log.f64 (pow.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(+.f64 (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re))) (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 1 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (log.f64 (pow.f64 (exp.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))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 2 (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (*.f64 2 (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 3 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 1/3 (*.f64 3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (hypot.f64 y.re y.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.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))))
(*.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))))
(pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(pow.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (pow.f64 (hypot.f64 y.re y.im) -4)) 1/2)
(pow.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(pow.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) 2)
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (pow.f64 (hypot.f64 y.re y.im) -4)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(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)))
(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)))
(+.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 0)
(+.f64 (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))))
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 2 (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 3 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 1/3 (*.f64 3 (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) 1))
Outputs
(+.f64 0 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.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))))) 2)) (log.f64 (cbrt.f64 (exp.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)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.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))))))) (log.f64 (cbrt.f64 (exp.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)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.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)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.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)))))) (log.f64 (sqrt.f64 (exp.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)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.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)))))))
(-.f64 (exp.f64 (log1p.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))))) 1)
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.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))) 1)
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 1 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (cbrt.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)))) (pow.f64 (cbrt.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)))) 2))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (cbrt.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)))) 2) (cbrt.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)))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.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)))) (sqrt.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)))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2))
(*.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re)))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 y.re x.re) 1)) (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im)))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))) (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (pow.f64 (exp.f64 1) (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 1) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (exp.f64 1) (*.f64 (*.f64 y.re x.re) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (exp.f64 1) (*.f64 (*.f64 y.im x.im) (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(/.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))) (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (pow.f64 (exp.f64 1) 1))
(/.f64 (pow.f64 (E.f64) (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (E.f64))
(sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(log.f64 (exp.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)))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(log.f64 (+.f64 1 (expm1.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))))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3)))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(expm1.f64 (log1p.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)))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(log1p.f64 (expm1.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)))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 0)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 2 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 0 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.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)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.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)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (log.f64 (pow.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 2 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.re x.re))) (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 y.im x.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 1 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (log.f64 (pow.f64 (exp.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))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 2 (*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2) (*.f64 2 (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 3 (*.f64 1/3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 1/3 (*.f64 3 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (fma.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (*.f64 2 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1/2)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (hypot.f64 y.re y.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.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))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.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))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(pow.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (pow.f64 (hypot.f64 y.re y.im) -4)) 1/2)
(sqrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -4) (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)))
(fabs.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(pow.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(pow.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) 2)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(pow.f64 (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) 3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) 3))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) 6))
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2) (pow.f64 (hypot.f64 y.re y.im) -4)))
(sqrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -4) (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)))
(fabs.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (hypot.f64 y.re y.im) -6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(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)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(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)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(+.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 0)
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 2 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 0 (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)) (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2))) 1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 1)
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 2 (*.f64 1/2 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 3 (*.f64 1/3 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 1/3 (*.f64 3 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -4))
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) 3)
(pow.f64 (/.f64 1 (cbrt.f64 (hypot.f64 y.re y.im))) 6)
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) -4))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2))))
(pow.f64 (hypot.f64 y.re y.im) -2)
(cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) -6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) 1))
(pow.f64 (hypot.f64 y.re y.im) -2)

eval266.0ms (2.6%)

Compiler

Compiled 16992 to 5802 computations (65.9% saved)

prune239.0ms (2.3%)

Pruning

17 alts after pruning (14 fresh and 3 done)

PrunedKeptTotal
New81813831
Fresh10111
Picked101
Done235
Total83117848
Error
18.2b
Counts
848 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
41.4b
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
45.5b
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
29.9b
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
46.4b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
19.3b
(/.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))
19.5b
(/.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)))
41.9b
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
48.1b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
29.9b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
19.4b
(/.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)))
29.9b
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
19.8b
(/.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)))))
29.4b
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
29.9b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
19.4b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
53.0b
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
62.0b
(log.f64 (*.f64 3 (log.f64 (cbrt.f64 (exp.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))))))))
Compiler

Compiled 657 to 387 computations (41.1% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.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))
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
18.2b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
Compiler

Compiled 44 to 9 computations (79.5% saved)

series46.0ms (0.4%)

Counts
1 → 0
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y.re
@0
(/.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))
0.0ms
x.re
@0
(/.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))
0.0ms
y.re
@inf
(/.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))
0.0ms
y.im
@0
(/.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))
0.0ms
x.re
@-inf
(/.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))
Compiler

Compiled 6015 to 3910 computations (35% saved)

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
572×log-prod_binary64
351×pow-prod-down_binary64
284×pow2_binary64
263×prod-diff_binary64
201×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01020
120917
2279817
Stop Event
node limit
Counts
1 → 50
Calls
Call 1
Inputs
(/.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))
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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.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 (pow.f64 (exp.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 (/.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)))))) (#(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 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (*.f64 (cbrt.f64 (/.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))))))) (#(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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (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 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.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))))))) (#(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 (/.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))))) (#(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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (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) (/.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))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (hypot.f64 y.re y.im) -3/2))))) (#(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) (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 *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) 1) (/.f64 (cbrt.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 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1) (/.f64 (sqrt.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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.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 (pow.f64 (hypot.f64 y.re y.im) 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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.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))))))) (#(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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 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 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.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)) 1/3)))) (#(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 pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.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 sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(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 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 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 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 exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (neg.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 exp.f64 (*.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) 1))))))

simplify50.0ms (0.5%)

Algorithm
egg-herbie
Rules
482×fma-def_binary64
378×log-prod_binary64
315×associate-/l*_binary64
289×log-div_binary64
236×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01441044
13531013
29291013
343001008
Stop Event
node limit
Counts
50 → 66
Calls
Call 1
Inputs
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.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)))
(*.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 1 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.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 (cbrt.f64 (/.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))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.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))))
(*.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)))
(*.f64 (/.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.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))))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (hypot.f64 y.re y.im) -3/2))
(*.f64 (/.f64 (pow.f64 (cbrt.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)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) 1) (/.f64 (cbrt.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)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1) (/.f64 (sqrt.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)))
(*.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 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.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))))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) -1)
(pow.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)) 1/3)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) 1) -1)
(neg.f64 (/.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))))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(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)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)))
(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))))
(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))))
(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))))
(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))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(exp.f64 (*.f64 (log.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))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(exp.f64 (*.f64 (neg.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))
(exp.f64 (*.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) 1))
Outputs
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 1 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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 (cbrt.f64 (/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.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))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.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))))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (sqrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 3/2)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (hypot.f64 y.re y.im) -3/2))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -3/2)) (sqrt.f64 (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (pow.f64 (hypot.f64 y.re y.im) -3/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) 1) (/.f64 (cbrt.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1) (/.f64 (sqrt.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (hypot.f64 y.re y.im) (cbrt.f64 (hypot.f64 y.re y.im)))))
(*.f64 (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.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 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (hypot.f64 y.re y.im) (cbrt.f64 (hypot.f64 y.re y.im)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.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)) 1/3)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) 1) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(neg.f64 (/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (neg.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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.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) 1))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
0.9b
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
28.7b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
Compiler

Compiled 56 to 15 computations (73.2% saved)

series70.0ms (0.7%)

Counts
2 → 0
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y.re
@0
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
1.0ms
y.im
@0
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
0.0ms
x.re
@0
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
0.0ms
y.im
@inf
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
0.0ms
y.re
@inf
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 8025 to 5400 computations (32.7% saved)

rewrite55.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
758×prod-diff_binary64
633×log-prod_binary64
336×pow2_binary64
256×fma-def_binary64
235×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01329
127027
2348927
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.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 (*.f64 (*.f64 x.re y.re) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))) (*.f64 (*.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 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.re y.re)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.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)))) 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 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 (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 (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 (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 (/.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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (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 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(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 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) (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 (/.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 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 cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) (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 (/.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 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 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 fma.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.re y.re) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re y.re) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (*.f64 x.im y.im) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (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)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)) (/.f64 1 (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 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (neg.f64 (log.f64 (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (neg.f64 (log.f64 (hypot.f64 y.re y.im)))) 1))))))

simplify52.0ms (0.5%)

Algorithm
egg-herbie
Rules
378×log-div_binary64
355×fma-def_binary64
334×log-prod_binary64
311×associate-/r*_binary64
307×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671060
1384999
21298933
36133933
Stop Event
node limit
Counts
65 → 89
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (*.f64 (*.f64 x.re y.re) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))) (*.f64 (*.f64 x.im y.im) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(+.f64 (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.re y.re)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.im y.im)))
(+.f64 (log.f64 (pow.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)))) 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))))))
(+.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))))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.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)))))
(/.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)))))
(/.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)))
(/.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))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (/.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)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 -1 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(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)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.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)) 1/3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)) 1/3)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(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))
(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))))
(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)))))
(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))
(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)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)))
(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))))
(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))))
(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))))
(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))
(fma.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.re y.re) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.im y.im)))
(fma.f64 (*.f64 x.re y.re) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (*.f64 x.im y.im) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(+.f64 0 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)
(*.f64 1 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)) (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 -1 (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (/.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1)
(pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(pow.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 3)
(pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)
(pow.f64 (neg.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) -1)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2))
(log.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(cbrt.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2))
(expm1.f64 (log1p.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(log1p.f64 (expm1.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(exp.f64 (*.f64 2 (neg.f64 (log.f64 (hypot.f64 y.re y.im)))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) -1))
(exp.f64 (*.f64 (*.f64 2 (neg.f64 (log.f64 (hypot.f64 y.re y.im)))) 1))
Outputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (*.f64 (*.f64 x.re y.re) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))) (*.f64 (*.f64 x.im y.im) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.re y.re)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.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)))) 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))))))
(+.f64 (*.f64 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)))))) (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))))))
(*.f64 3 (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))))))
(*.f64 (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))))) 3)
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))) 3)
(+.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))))))
(*.f64 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))))))
(*.f64 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))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.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)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 -1 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.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)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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)) 3))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(fma.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.re y.re) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(fma.f64 (*.f64 x.re y.re) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (*.f64 x.im y.im) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 0 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 1 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)))
(/.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 4))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)) (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)))
(/.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 4))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 -1 (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(*.f64 (/.f64 1 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (/.f64 1 (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)))
(/.f64 (+.f64 (pow.f64 y.im 4) (-.f64 (pow.f64 y.re 4) (pow.f64 (*.f64 y.re y.im) 2))) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)))
(*.f64 (/.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(*.f64 (-.f64 y.re y.im) (/.f64 (+.f64 y.re y.im) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -1)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2) 1/3)
(cbrt.f64 (pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 3)) 2))
(cbrt.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 6))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 3))
(cbrt.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 6)))
(pow.f64 (/.f64 1 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 3)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(pow.f64 (neg.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) -1)
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) -2))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log.f64 (exp.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(cbrt.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) 2))
(cbrt.f64 (pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 3)) 2))
(cbrt.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 6))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) -2) 3))
(cbrt.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 6)))
(expm1.f64 (log1p.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(log1p.f64 (expm1.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 2 (neg.f64 (log.f64 (hypot.f64 y.re y.im)))))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 y.re y.im))) -1))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)
(exp.f64 (*.f64 (*.f64 2 (neg.f64 (log.f64 (hypot.f64 y.re y.im)))) 1))
(/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) -2)

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.7b
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
8.8b
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
29.3b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
41.2b
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 86 to 33 computations (61.6% saved)

series120.0ms (1.2%)

Counts
4 → 0
Calls

30 calls:

TimeVariablePointExpression
7.0ms
y.im
@inf
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
1.0ms
x.re
@0
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
1.0ms
x.im
@0
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
1.0ms
y.re
@0
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
1.0ms
x.re
@-inf
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
Compiler

Compiled 11525 to 8375 computations (27.3% saved)

rewrite91.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
443×fma-neg_binary64
344×expm1-udef_binary64
344×log1p-udef_binary64
205×add-sqr-sqrt_binary64
205×pow1_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01774
140546
2611644
Stop Event
node limit
Counts
4 → 231
Calls
Call 1
Inputs
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.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) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (+.f64 y.re y.im)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re y.im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (pow.f64 (exp.f64 y.im) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3) (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re y.re (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y.re 4) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (sqrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 y.re y.re) 1) (/.f64 (*.f64 y.re y.re) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) 1) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (*.f64 y.re y.re) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (pow.f64 y.re 4) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (pow.f64 y.re 4) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 y.re y.re) (+.f64 y.re y.im)) (/.f64 (*.f64 y.re y.re) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (pow.f64 y.re 4) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.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)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))))) (#(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)) (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y.re y.re) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (*.f64 (*.f64 y.im (neg.f64 y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 y.re y.re)) (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 y.im (neg.f64 y.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 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(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 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 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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)) 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 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 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)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) 1) (/.f64 (cbrt.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 1) (/.f64 (sqrt.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 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (cbrt.f64 (pow.f64 (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 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 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 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.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)) 1) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (+.f64 y.re y.im)) (-.f64 y.re y.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 y.re x.re (*.f64 y.im x.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 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 (exp.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 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 (fma.f64 y.re x.re (*.f64 y.im x.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 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 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))))))) (#(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 +.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 y.re 4) (*.f64 (neg.f64 (pow.f64 y.im 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (+.f64 (neg.f64 (pow.f64 y.im 4)) (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 (neg.f64 (pow.f64 y.im 4)) 1 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 y.im 4))) (cbrt.f64 (pow.f64 y.im 8)) (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 y.im 4)) (pow.f64 y.re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (/.f64 1 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4)) (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))) (neg.f64 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))) (neg.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y.re 12) (pow.f64 (neg.f64 (pow.f64 y.im 4)) 3)) (+.f64 (pow.f64 y.re 8) (-.f64 (*.f64 (neg.f64 (pow.f64 y.im 4)) (neg.f64 (pow.f64 y.im 4))) (*.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 8) (*.f64 (neg.f64 (pow.f64 y.im 4)) (neg.f64 (pow.f64 y.im 4)))) (-.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 y.re 4))) (exp.f64 (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (pow.f64 y.re 4)) (+.f64 1 (expm1.f64 (pow.f64 y.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 y.re 4))) (+.f64 1 (expm1.f64 (pow.f64 y.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re (pow.f64 y.re 3) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y.re 4) 1 (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re y.re) (*.f64 y.re y.re) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y.re 3) y.re (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (pow.f64 y.re 8)) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re y.re)) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 8)) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (cbrt.f64 y.re) 2) 4) (pow.f64 (cbrt.f64 y.re) 4) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 y.re) 4) (pow.f64 (sqrt.f64 y.re) 4) (neg.f64 (pow.f64 y.im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y.re y.re) (cbrt.f64 (pow.f64 y.re 4))) (pow.f64 (cbrt.f64 y.re) 2) (neg.f64 (pow.f64 y.im 4)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re y.re) (*.f64 (*.f64 y.im (neg.f64 y.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re y.re) (+.f64 (*.f64 y.im (neg.f64 y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (*.f64 y.im (neg.f64 y.im)) 1 (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (+.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y.re y.im) (-.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y.re y.im) (+.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 (*.f64 y.im (neg.f64 y.im)) 3)) (+.f64 (pow.f64 y.re 4) (-.f64 (*.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.im (neg.f64 y.im))) (*.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) (pow.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))) (*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 y.re 4) (*.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.im (neg.f64 y.im)))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))) (-.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 y.re y.im)) (-.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re y.re (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re y.re (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re y.re) 1 (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re y.re) 1 (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 y.im (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))))))

simplify100.0ms (1%)

Algorithm
egg-herbie
Rules
602×fma-neg_binary64
474×times-frac_binary64
355×associate-*r*_binary64
340×log-prod_binary64
337×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05235205
113404775
269674761
Stop Event
node limit
Counts
231 → 329
Calls
Call 1
Inputs
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))
(+.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im)))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im)))))
(*.f64 (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))
(*.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 y.re y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 y.re y.im)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (+.f64 y.re y.im)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 y.re y.im)))
(*.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3) 1/3)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) -1)
(neg.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im)))))
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (pow.f64 (exp.f64 y.im) y.im)))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3) (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 1))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 (pow.f64 y.re 4) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 1 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))
(fma.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (sqrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (sqrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) 1) (/.f64 (*.f64 y.re y.re) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) 1) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (*.f64 y.re y.re) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (pow.f64 y.re 4) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (pow.f64 y.re 4) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (+.f64 y.re y.im)) (/.f64 (*.f64 y.re y.re) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (pow.f64 y.re 4) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(+.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(+.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(+.f64 (*.f64 (*.f64 y.re y.re) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (*.f64 (*.f64 y.im (neg.f64 y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(+.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 y.re y.re)) (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 y.im (neg.f64 y.im))))
(-.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)
(*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(*.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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)) 2)))
(*.f64 (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)) 2)) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (cbrt.f64 (pow.f64 (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))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.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)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im))))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (+.f64 y.re y.im)) (-.f64 y.re y.im))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(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)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(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))
(log.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(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)))))
(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))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))
(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))))
(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))))
(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))))
(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))
(+.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))
(+.f64 (pow.f64 y.re 4) (*.f64 (neg.f64 (pow.f64 y.im 4)) 1))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (+.f64 (neg.f64 (pow.f64 y.im 4)) (pow.f64 y.im 4)))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 (neg.f64 (pow.f64 y.im 4)) 1 (pow.f64 y.im 4)))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 y.im 4))) (cbrt.f64 (pow.f64 y.im 8)) (pow.f64 y.im 4)))
(+.f64 (neg.f64 (pow.f64 y.im 4)) (pow.f64 y.re 4))
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 1)
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(*.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))
(*.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (/.f64 1 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4)) (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4)))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))) (neg.f64 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))) (neg.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (+.f64 (pow.f64 y.re 12) (pow.f64 (neg.f64 (pow.f64 y.im 4)) 3)) (+.f64 (pow.f64 y.re 8) (-.f64 (*.f64 (neg.f64 (pow.f64 y.im 4)) (neg.f64 (pow.f64 y.im 4))) (*.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4))))))
(/.f64 (-.f64 (pow.f64 y.re 8) (*.f64 (neg.f64 (pow.f64 y.im 4)) (neg.f64 (pow.f64 y.im 4)))) (-.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4))))
(pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 1)
(pow.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3) 1/3)
(pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 3)
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2)
(sqrt.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 2))
(log.f64 (exp.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 y.re 4))) (exp.f64 (pow.f64 y.im 4))))
(log.f64 (/.f64 (exp.f64 (pow.f64 y.re 4)) (+.f64 1 (expm1.f64 (pow.f64 y.im 4)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 y.re 4))) (+.f64 1 (expm1.f64 (pow.f64 y.im 4)))))
(cbrt.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3))
(expm1.f64 (log1p.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(log1p.f64 (expm1.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(exp.f64 (log.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1))
(fma.f64 y.re (pow.f64 y.re 3) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (pow.f64 y.re 4) 1 (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (*.f64 y.re y.re) (*.f64 y.re y.re) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 1 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (pow.f64 y.re 3) y.re (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (pow.f64 y.re 8)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re y.re)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 8)) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 y.re) 2) 4) (pow.f64 (cbrt.f64 y.re) 4) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (pow.f64 (sqrt.f64 y.re) 4) (pow.f64 (sqrt.f64 y.re) 4) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (*.f64 (*.f64 y.re y.re) (cbrt.f64 (pow.f64 y.re 4))) (pow.f64 (cbrt.f64 y.re) 2) (neg.f64 (pow.f64 y.im 4)))
(+.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im)))
(+.f64 (*.f64 y.re y.re) (*.f64 (*.f64 y.im (neg.f64 y.im)) 1))
(+.f64 (*.f64 y.re y.re) (+.f64 (*.f64 y.im (neg.f64 y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (*.f64 y.im (neg.f64 y.im)) 1 (*.f64 y.im y.im)))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.im y.im)))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 1))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (+.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(+.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.re y.re))
(+.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 1)
(*.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))
(*.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (+.f64 y.re y.im) (-.f64 y.re y.im))
(*.f64 (-.f64 y.re y.im) (+.f64 y.re y.im))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 (*.f64 y.im (neg.f64 y.im)) 3)) (+.f64 (pow.f64 y.re 4) (-.f64 (*.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.im (neg.f64 y.im))) (*.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) (pow.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))) (*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))
(/.f64 (-.f64 (pow.f64 y.re 4) (*.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.im (neg.f64 y.im)))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))) (-.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 1)
(pow.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 3)
(pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 y.re y.im)) (-.f64 y.re y.im)))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(log.f64 (/.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(exp.f64 (log.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 1))
(fma.f64 y.re y.re (*.f64 y.im (neg.f64 y.im)))
(fma.f64 y.re y.re (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (*.f64 y.re y.re) 1 (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (*.f64 y.re y.re) 1 (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 1 (*.f64 y.re y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
Outputs
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 (*.f64 y.im y.im) (*.f64 y.re y.re))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(+.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im)))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (hypot.f64 y.re y.im) (hypot.f64 y.re y.im))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 1 (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im)))))
(*.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (/.f64 1 (+.f64 y.re y.im)) (neg.f64 (-.f64 y.re y.im))))
(/.f64 (-.f64 (pow.f64 y.im 4) (pow.f64 y.re 4)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re (neg.f64 y.re))))
(*.f64 (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))
(/.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))
(*.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 y.re y.im)))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (/.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))
(*.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))))
(/.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 y.re y.im)))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (+.f64 y.re y.im)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 y.re y.im)))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (hypot.f64 y.re y.im) 2)
(*.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3) 1/3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 3)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (hypot.f64 y.re y.im) 2)
(pow.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) -1)
(pow.f64 (hypot.f64 y.re y.im) 2)
(neg.f64 (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im)))))
(*.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (/.f64 1 (+.f64 y.re y.im)) (neg.f64 (-.f64 y.re y.im))))
(/.f64 (-.f64 (pow.f64 y.im 4) (pow.f64 y.re 4)) (+.f64 (*.f64 y.im y.im) (*.f64 y.re (neg.f64 y.re))))
(sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))
(sqrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log.f64 (*.f64 (pow.f64 (exp.f64 y.re) y.re) (pow.f64 (exp.f64 y.im) y.im)))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3))
(pow.f64 (hypot.f64 y.re y.im) 2)
(cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3) (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(pow.f64 (hypot.f64 y.re y.im) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 1))
(pow.f64 (hypot.f64 y.re y.im) 2)
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 (pow.f64 y.re 4) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.im y.im (*.f64 y.re y.re))
(fma.f64 y.re y.re (*.f64 y.im y.im))
(fma.f64 1 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im y.im))
(fma.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (cbrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (sqrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (sqrt.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (/.f64 (*.f64 y.re y.re) 1) (/.f64 (*.f64 y.re y.re) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) 1) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (cbrt.f64 (pow.f64 y.re 8)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 y.re 8)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (*.f64 y.re y.re) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (pow.f64 y.re 4) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (pow.f64 y.re 4) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (pow.f64 y.re 4) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (*.f64 y.re y.re) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (pow.f64 y.re 4) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (pow.f64 y.re 4) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (/.f64 1 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (pow.f64 y.re 4) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (/.f64 (neg.f64 (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (*.f64 y.re y.re) (+.f64 y.re y.im)) (/.f64 (*.f64 y.re y.re) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(-.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (pow.f64 y.re 4) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (pow.f64 y.re 4) (-.f64 y.re y.im)) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(fma.f64 (/.f64 1 (+.f64 y.re y.im)) (/.f64 (pow.f64 y.re 4) (-.f64 y.re y.im)) (/.f64 (neg.f64 (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 y.re y.im)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 y.re y.im)) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 y.re 8)) (+.f64 y.re y.im)) (/.f64 (cbrt.f64 (pow.f64 y.re 4)) (-.f64 y.re y.im))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re y.im) 2) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (neg.f64 (/.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im)) (-.f64 y.re y.im))))
(fma.f64 (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (/.f64 (neg.f64 (/.f64 (pow.f64 y.im 4) (+.f64 y.re y.im))) (-.f64 y.re y.im)))
(-.f64 (*.f64 (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))) (/.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)))) (/.f64 (pow.f64 y.im 4) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(+.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(fma.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(+.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(fma.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (*.f64 (*.f64 y.re y.re) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (*.f64 (*.f64 y.im (neg.f64 y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(+.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 y.re y.re)) (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 y.im (neg.f64 y.im))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.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)
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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)) 2)))
(*.f64 (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)) 2)) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (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)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (/.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (cbrt.f64 (pow.f64 (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))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 2))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 4)))
(*.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)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 1) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))) (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im))))
(*.f64 (*.f64 (+.f64 y.re y.im) (neg.f64 (-.f64 y.re y.im))) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(*.f64 (+.f64 y.re y.im) (*.f64 (neg.f64 (-.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.im 4) (pow.f64 y.re 4)))))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2)) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im))))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2))
(*.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (+.f64 y.re y.im)) (-.f64 y.re y.im))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (+.f64 y.re y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 (-.f64 y.re y.im) (/.f64 (*.f64 (+.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)
(/.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))) 3)
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(fabs.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(log.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(+.f64 (pow.f64 y.re 4) (*.f64 (neg.f64 (pow.f64 y.im 4)) 1))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (+.f64 (neg.f64 (pow.f64 y.im 4)) (pow.f64 y.im 4)))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (+.f64 (pow.f64 y.im 4) (neg.f64 (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (*.f64 0 (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (fma.f64 0 (pow.f64 y.im 4) (pow.f64 y.im 4)))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 (neg.f64 (pow.f64 y.im 4)) 1 (pow.f64 y.im 4)))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (+.f64 (pow.f64 y.im 4) (neg.f64 (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (*.f64 0 (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (fma.f64 0 (pow.f64 y.im 4) (pow.f64 y.im 4)))
(+.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 y.im 4))) (cbrt.f64 (pow.f64 y.im 8)) (pow.f64 y.im 4)))
(+.f64 (neg.f64 (pow.f64 y.im 4)) (pow.f64 y.re 4))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 1)
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 1 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(*.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(*.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (*.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) 1) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 y.im 8) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 (*.f64 y.re y.im) 4) (pow.f64 y.im 8))))
(*.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (/.f64 1 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4)) (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))))
(/.f64 (*.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) 1) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 y.im 8) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 (*.f64 y.re y.im) 4) (pow.f64 y.im 8))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4)))
(/.f64 (*.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) 1) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 y.im 8) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 (*.f64 y.re y.im) 4) (pow.f64 y.im 8))))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))) (neg.f64 (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12))) (neg.f64 (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 y.im 8) (pow.f64 (*.f64 y.re y.im) 4)))))
(*.f64 1 (/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 (*.f64 y.re y.im) 4) (pow.f64 y.im 8)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))) (neg.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(*.f64 1 (/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (+.f64 (pow.f64 y.re 12) (pow.f64 (neg.f64 (pow.f64 y.im 4)) 3)) (+.f64 (pow.f64 y.re 8) (-.f64 (*.f64 (neg.f64 (pow.f64 y.im 4)) (neg.f64 (pow.f64 y.im 4))) (*.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4))))))
(/.f64 (+.f64 (pow.f64 y.re 12) (pow.f64 (neg.f64 (pow.f64 y.im 4)) 3)) (-.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (*.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 (pow.f64 y.im 4) 3)) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 (*.f64 y.re y.im) 4) (pow.f64 y.im 8))))
(/.f64 (-.f64 (pow.f64 y.re 8) (*.f64 (neg.f64 (pow.f64 y.im 4)) (neg.f64 (pow.f64 y.im 4)))) (-.f64 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8))))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 1)
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(pow.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3) 1/3)
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 3)
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(pow.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2)
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(sqrt.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 2))
(fabs.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))
(log.f64 (exp.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 y.re 4))) (exp.f64 (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(log.f64 (/.f64 (exp.f64 (pow.f64 y.re 4)) (+.f64 1 (expm1.f64 (pow.f64 y.im 4)))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 y.re 4))) (+.f64 1 (expm1.f64 (pow.f64 y.im 4)))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(cbrt.f64 (pow.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) 3))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(expm1.f64 (log1p.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(log1p.f64 (expm1.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(exp.f64 (log.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 1))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(fma.f64 y.re (pow.f64 y.re 3) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(fma.f64 (pow.f64 y.re 4) 1 (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(fma.f64 (*.f64 y.re y.re) (*.f64 y.re y.re) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(fma.f64 1 (pow.f64 y.re 4) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(fma.f64 (pow.f64 y.re 3) y.re (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (pow.f64 y.re 8)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re y.re)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 (*.f64 y.re y.re) (pow.f64 (cbrt.f64 y.re) 2)) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.re (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)))) (pow.f64 y.im 4))
(fma.f64 (cbrt.f64 (pow.f64 y.re 8)) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (cbrt.f64 (pow.f64 y.re 8)) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 y.re) 2) 4) (pow.f64 (cbrt.f64 y.re) 4) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 y.re) 2) 4) (pow.f64 (cbrt.f64 y.re) 4)) (pow.f64 y.im 4))
(fma.f64 (pow.f64 (sqrt.f64 y.re) 4) (pow.f64 (sqrt.f64 y.re) 4) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (pow.f64 (sqrt.f64 y.re) 8) (pow.f64 y.im 4))
(fma.f64 (*.f64 (*.f64 y.re y.re) (cbrt.f64 (pow.f64 y.re 4))) (pow.f64 (cbrt.f64 y.re) 2) (neg.f64 (pow.f64 y.im 4)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 (*.f64 y.re y.re) (pow.f64 (cbrt.f64 y.re) 2)) (neg.f64 (pow.f64 y.im 4)))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.re (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)))) (pow.f64 y.im 4))
(+.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(+.f64 (*.f64 y.re y.re) (*.f64 (*.f64 y.im (neg.f64 y.im)) 1))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(+.f64 (*.f64 y.re y.re) (+.f64 (*.f64 y.im (neg.f64 y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (*.f64 y.im (neg.f64 y.im)) 1 (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 (pow.f64 y.im 4)) (*.f64 y.im y.im)))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 1))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (+.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(+.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (*.f64 2 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (*.f64 2 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(+.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.re y.re))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(+.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(*.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 1)
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(*.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(*.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(*.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))))
(pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2)
(*.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (+.f64 y.re y.im) (-.f64 y.re y.im))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(*.f64 (-.f64 y.re y.im) (+.f64 y.re y.im))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)) (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))))
(*.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) 2) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (+.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (pow.f64 (hypot.f64 y.re y.im) 2)) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 y.im 8) (pow.f64 (*.f64 y.re y.im) 4))))
(/.f64 (-.f64 (pow.f64 y.re 12) (pow.f64 y.im 12)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (pow.f64 y.re 8) (+.f64 (pow.f64 (*.f64 y.re y.im) 4) (pow.f64 y.im 8)))))
(/.f64 (-.f64 (pow.f64 y.re 8) (pow.f64 y.im 8)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))))
(/.f64 (neg.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 1 (/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2)))))
(/.f64 (+.f64 (pow.f64 y.re 6) (pow.f64 (*.f64 y.im (neg.f64 y.im)) 3)) (+.f64 (pow.f64 y.re 4) (-.f64 (*.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.im (neg.f64 y.im))) (*.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))))
(*.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 y.re 6) (pow.f64 y.im 6)) (+.f64 (pow.f64 y.re 4) (+.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) (pow.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))) (*.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) (pow.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) 3)) (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (-.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) (pow.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) 3)) (fma.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (+.f64 (-.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (*.f64 y.re y.re)) (*.f64 y.im y.im)) (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2)))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) (pow.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) 3)) (fma.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (-.f64 (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im y.im)) (*.f64 y.re y.re)) (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2)))
(/.f64 (-.f64 (pow.f64 y.re 4) (*.f64 (*.f64 y.im (neg.f64 y.im)) (*.f64 y.im (neg.f64 y.im)))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (*.f64 (*.f64 y.im y.im) (*.f64 (neg.f64 y.im) (neg.f64 y.im)))) (-.f64 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))) (-.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im))))
(/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))) (-.f64 (*.f64 y.re y.re) (+.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)))) (-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)))))
(/.f64 (+.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2) (*.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)))) (fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im)))))
(pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 1)
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(pow.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3) 1/3)
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 3)
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2)
(sqrt.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 2))
(fabs.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(log.f64 (pow.f64 (exp.f64 (+.f64 y.re y.im)) (-.f64 y.re y.im)))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (pow.f64 (exp.f64 y.im) y.im)))
(-.f64 (log1p.f64 (expm1.f64 (*.f64 y.re y.re))) (log.f64 (pow.f64 (exp.f64 y.im) y.im)))
(-.f64 (*.f64 y.re y.re) (log.f64 (pow.f64 (exp.f64 y.im) y.im)))
(log.f64 (/.f64 (pow.f64 (exp.f64 y.re) y.re) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re (log.f64 (exp.f64 y.re))) (log1p.f64 (expm1.f64 (*.f64 y.im y.im))))
(-.f64 (*.f64 y.re (log.f64 (exp.f64 y.re))) (*.f64 y.im y.im))
(log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 y.re y.re))) (+.f64 1 (expm1.f64 (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) 3))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(expm1.f64 (log1p.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(log1p.f64 (expm1.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(exp.f64 (log.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 1))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 y.re y.re (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (*.f64 y.re y.re) 1 (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re y.re) 1 (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 1 (*.f64 y.re y.re) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
(fma.f64 1 (*.f64 y.re y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 1 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2)) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re (cbrt.f64 y.re)) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 y.re))) (*.f64 y.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re (cbrt.f64 y.re)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 y.re))) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 y.re)) (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) 2) (cbrt.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 (pow.f64 y.re 4)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(-.f64 (*.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2)) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 (cbrt.f64 (pow.f64 y.re 4)) (pow.f64 (cbrt.f64 y.re) 2) (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (sqrt.f64 y.re) (*.f64 y.re (sqrt.f64 y.re)) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re (pow.f64 (sqrt.f64 y.re) 2)) (*.f64 y.im y.im))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (sqrt.f64 y.re) (*.f64 y.re (sqrt.f64 y.re)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re (pow.f64 (sqrt.f64 y.re) 2)) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(+.f64 (pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(+.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (pow.f64 (hypot.f64 y.re (sqrt.f64 (*.f64 y.im (neg.f64 y.im)))) 2))
(fma.f64 (+.f64 y.re y.im) (-.f64 y.re y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))
(-.f64 (*.f64 y.re y.re) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re y.re (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (sqrt.f64 y.re) (*.f64 y.re (sqrt.f64 y.re)) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re (pow.f64 (sqrt.f64 y.re) 2)) (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (sqrt.f64 y.re) (*.f64 y.re (sqrt.f64 y.re)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re (pow.f64 (sqrt.f64 y.re) 2)) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4)))) (*.f64 y.im y.im))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (-.f64 (*.f64 y.im (+.f64 (neg.f64 y.im) y.im)) (*.f64 y.im y.im)))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 y.re 8))) (sqrt.f64 (cbrt.f64 (pow.f64 y.re 4))) (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 y.im (neg.f64 y.im)))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re (cbrt.f64 y.re)) (*.f64 y.im (neg.f64 y.im)))
(-.f64 (*.f64 y.re (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 y.re))) (*.f64 y.im y.im))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 y.re (cbrt.f64 y.re)) (neg.f64 (-.f64 (*.f64 y.im y.im) (fma.f64 (neg.f64 y.im) y.im (*.f64 y.im y.im)))))
(-.f64 (*.f64 y.re (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 y.re))) (fma.f64 y.im y.im (*.f64 y.im (+.f64 (neg.f64 y.im) y.im))))
(fma.f64 y.re (*.f64 (pow.f64 (cbrt.f64 y.re) 2) (cbrt.f64 y.re)) (fma.f64 y.im (+.f64 (neg.f64 y.im) y.im) (*.f64 y.im (neg.f64 y.im))))

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.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))))
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
0.6b
(/.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)))))
18.2b
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
Compiler

Compiled 61 to 12 computations (80.3% saved)

series276.0ms (2.7%)

Counts
3 → 0
Calls

36 calls:

TimeVariablePointExpression
23.0ms
y.im
@0
(/.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)))))
4.0ms
x.re
@0
(/.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
x.re
@inf
(/.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)))
Compiler

Compiled 29185 to 19970 computations (31.6% saved)

rewrite109.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
621×log-prod_binary64
388×pow-prod-down_binary64
318×pow2_binary64
245×prod-diff_binary64
225×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01257
124651
2311348
Stop Event
node limit
Counts
3 → 112
Calls
Call 1
Inputs
(/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(/.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)))))
(*.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))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.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 +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.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 -.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 (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) (cbrt.f64 (pow.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)) (cbrt.f64 (pow.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 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) -1/2) (/.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))) 2) 1/2)))) (#(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 pow.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)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 1) -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 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 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 +.f64 0 (*.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.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 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (*.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 (exp.f64 (log1p.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 *.f64 1 (*.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 (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 *.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)) (cbrt.f64 (*.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 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (/.f64 1 (/.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 -1 (/.f64 1 (/.f64 (neg.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 (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 (/.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 (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 (/.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 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -2) (cbrt.f64 (*.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 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 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 pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (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 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (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 1 (/.f64 (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 (neg.f64 (/.f64 (neg.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 sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.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 (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 cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.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 log1p.f64 (expm1.f64 (*.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 exp.f64 (log.f64 (*.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 exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.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 +.f64 0 (/.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.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 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.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 (exp.f64 (log1p.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 /.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 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.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 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 (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 /.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 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4)) (cbrt.f64 (*.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 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (/.f64 1 (/.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 (neg.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 /.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (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 (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) (cbrt.f64 (pow.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 (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 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 pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (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 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (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 1 (/.f64 (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 (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 sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.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 (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 cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.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 log1p.f64 (expm1.f64 (/.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 exp.f64 (log.f64 (/.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 exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))))))

simplify54.0ms (0.5%)

Algorithm
egg-herbie
Rules
505×unswap-sqr_binary64
438×associate-/l*_binary64
438×fma-def_binary64
335×associate-/r*_binary64
328×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02372201
15372119
217002119
Stop Event
node limit
Counts
112 → 156
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(*.f64 (hypot.f64 y.re y.im) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 1 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.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))
(*.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)))))
(*.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)))))
(*.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)))))
(*.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)))))
(*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im))
(*.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))))
(*.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))))
(*.f64 (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)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.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)))))
(*.f64 (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (pow.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)))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) -1/2) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.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)))))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) 1/2)
(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)
(pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(pow.f64 (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) -1)
(pow.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)) 1/3)
(pow.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 1) -1)
(neg.f64 (/.f64 (hypot.f64 y.re y.im) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 2))
(log.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3))
(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)))
(expm1.f64 (log1p.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log1p.f64 (expm1.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(+.f64 0 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(*.f64 1 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.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)))
(*.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)))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.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)))
(*.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))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -2) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4) -1/2)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) -1/3)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -2)
(pow.f64 (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)
(pow.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -1)
(sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4))
(log.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -1))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(+.f64 0 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(/.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)))
(/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(/.f64 1 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4)) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(/.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (*.f64 (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))))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (pow.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))))
(/.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))))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) 1/3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3) -1/3)
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -3)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)
(pow.f64 (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) -2)
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) -1)
(sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4))
(log.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6))
(expm1.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(log1p.f64 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
Outputs
(+.f64 0 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.f64 (hypot.f64 y.re y.im) (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.f64 1 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.f64 (/.f64 1 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.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))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(*.f64 (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)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) -2) (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) (hypot.f64 y.re y.im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.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)))))
(*.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2))))
(*.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))) (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (pow.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) 2))))
(*.f64 (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (pow.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)))))
(/.f64 (*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)))
(/.f64 (/.f64 (hypot.f64 y.re y.im) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)))
(/.f64 (hypot.f64 y.re y.im) (*.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (cbrt.f64 (pow.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) 2))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) -1/2) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (pow.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) -1/2) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))))
(*.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)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 2) 1/2)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(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)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (cbrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (sqrt.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) -1)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.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)) 1/3)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 1) -1)
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(neg.f64 (/.f64 (hypot.f64 y.re y.im) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 2))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(log.f64 (exp.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(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)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(expm1.f64 (log1p.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(log1p.f64 (expm1.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(exp.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (hypot.f64 y.re y.im) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(+.f64 0 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(+.f64 (log.f64 (pow.f64 (cbrt.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)))) 2)) (log.f64 (cbrt.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))))))
(*.f64 3 (log.f64 (cbrt.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))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.im x.im (*.f64 y.re x.re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 2 (log.f64 (sqrt.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))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 y.im x.im (*.f64 y.re x.re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 1 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) -4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4)))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) -4)))
(*.f64 (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.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))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -2) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.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 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -2))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))) -2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4) -1/2)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) 4) -1/2)
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) -1/3)
(*.f64 (pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) -1/6) (pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) -1/6))
(*.f64 (pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) 6) -1/6) (pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) 6) -1/6))
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4) 1/2)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3) 1/3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -3)
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))) -3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -2)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) -4))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -1))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 0 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))) 1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.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)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 1 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4)) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4)) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) 4)) (cbrt.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (*.f64 (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))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 1) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (pow.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))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2))))
(/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (*.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (cbrt.f64 (pow.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) 2))))
(/.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))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4) 1/2)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6) 1/3)
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6))
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) 6))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im))) 3) -1/3)
(*.f64 (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/6) (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/6))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3) -1/6) (pow.f64 (pow.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2)) 3) -1/6))
(pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 3)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) -3)
(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)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (pow.f64 (hypot.f64 y.re y.im) -2))) -3)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 2)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (/.f64 1 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))) -2)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) -1)
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(sqrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 4))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(log.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) 6))
(cbrt.f64 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) 6))
(expm1.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(log1p.f64 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(exp.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))
(exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))) 1))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.im x.im (*.f64 y.re x.re)))

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
0.2b
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
0.3b
(fma.f64 y.re x.re (*.f64 x.im y.im))
9.7b
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
Compiler

Compiled 52 to 12 computations (76.9% saved)

series675.0ms (6.5%)

Counts
3 → 0
Calls

36 calls:

TimeVariablePointExpression
6.0ms
x.re
@0
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
4.0ms
x.im
@inf
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
2.0ms
y.im
@0
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
2.0ms
y.re
@0
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
2.0ms
y.im
@inf
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
Compiler

Compiled 43545 to 25690 computations (41% saved)

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
570×log-prod_binary64
353×pow-prod-down_binary64
308×pow2_binary64
251×prod-diff_binary64
216×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01245
124843
2296143
Stop Event
node limit
Counts
3 → 118
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 y.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 y.re x.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.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 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3/2) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 5/6) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.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 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (sqrt.f64 (fma.f64 y.re x.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 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (neg.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.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 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.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 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4)) (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (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) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) -1))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
416×associate-/l/_binary64
377×associate-/r/_binary64
310×*-commutative_binary64
247×log-prod_binary64
207×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02702109
15792028
223772026
Stop Event
node limit
Counts
118 → 136
Calls
Call 1
Inputs
(+.f64 0 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 1)
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(*.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/2)
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 1/3)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 3)
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3/2)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 2)
(fabs.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))
(hypot.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 y.re x.re)))
(hypot.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 x.im y.im)))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))
(+.f64 0 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 1 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3/2))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3/2) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 5/6) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(/.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(/.f64 1 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))
(/.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (neg.f64 (hypot.f64 y.re y.im)))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 3))
(+.f64 0 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1)
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(*.f64 1 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4)) (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (hypot.f64 y.re y.im)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (hypot.f64 y.re y.im))))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/6)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3/2)
(pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) -1)
(pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) -1)
(neg.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))
(sqrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(fabs.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(log.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)))
(expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(exp.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) -1))
Outputs
(+.f64 0 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 1)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/2)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 1/3)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 3)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3/2)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 2)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fabs.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(hypot.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 y.re x.re)))
(hypot.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 x.im y.im)))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1/2))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1/3))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6)) 3))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(+.f64 0 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 1 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3/2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3/2) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 5/6) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 5/6))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6)) 1/3))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 3))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 0 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 1 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 1 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4)) (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) (cbrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (cbrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (cbrt.f64 (hypot.f64 y.re y.im)))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1/2)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/6)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3) 1/3)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3/2)
(pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) -1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) -1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(neg.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(sqrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(fabs.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(log.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 1))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1/2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1/3))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 3))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) -1))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))

eval623.0ms (6%)

Compiler

Compiled 25223 to 8682 computations (65.6% saved)

prune398.0ms (3.8%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New106161067
Fresh459
Picked101
Done527
Total1071131084
Error
18.2b
Counts
1084 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
41.4b
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
45.5b
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
46.4b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
41.9b
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
19.3b
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
29.9b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
23.3b
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -3/2)) (sqrt.f64 (hypot.f64 y.re y.im)))
19.4b
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
19.8b
(/.f64 1 (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))
19.4b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
29.9b
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
53.0b
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
62.0b
(log.f64 (*.f64 3 (log.f64 (cbrt.f64 (exp.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))))))))
Compiler

Compiled 515 to 305 computations (40.8% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
0.7b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
18.2b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
Compiler

Compiled 50 to 10 computations (80% saved)

series90.0ms (0.9%)

Counts
2 → 0
Calls

24 calls:

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

Compiled 11315 to 7140 computations (36.9% saved)

rewrite67.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
675×log-prod_binary64
347×fma-def_binary64
328×pow2_binary64
228×pow1/3_binary64
224×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01134
124031
2346331
Stop Event
node limit
Counts
2 → 85
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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)) (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 (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 (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 (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 (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 (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 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 (/.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 (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) (cbrt.f64 (pow.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))) (cbrt.f64 (pow.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 (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 (/.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 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)) 2) 1/2)))) (#(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 pow.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)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -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 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 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 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 +.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.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 (pow.f64 (exp.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 (/.f64 1 (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)) (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)) (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)) (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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (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 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (*.f64 (cbrt.f64 (/.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))))))) (#(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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.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))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))))) (#(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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (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) (/.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))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (hypot.f64 y.re y.im) -3/2))))) (#(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) (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 *.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) 1) (/.f64 (cbrt.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 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1) (/.f64 (sqrt.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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.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 (pow.f64 (hypot.f64 y.re y.im) 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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.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))))))) (#(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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 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 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.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)) 1/3)))) (#(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 pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.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 sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(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 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 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 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))))))

simplify62.0ms (0.6%)

Algorithm
egg-herbie
Rules
448×fma-def_binary64
418×associate-/r*_binary64
363×associate-/l/_binary64
353×unswap-sqr_binary64
294×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02001671
14591604
215941589
378381589
Stop Event
node limit
Counts
85 → 111
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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)) (hypot.f64 y.re y.im))))))
(+.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))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1)
(*.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(*.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))))
(*.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))
(*.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))))
(*.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))))
(*.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))))
(*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(*.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)))
(*.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)))
(*.f64 (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))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.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))))
(*.f64 (/.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))) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.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))))
(*.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))))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 1)
(pow.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2) 1/2)
(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)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 3)
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.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)) 1/3)
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (neg.f64 (hypot.f64 y.re y.im))))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3))
(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)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(exp.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1))
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.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)))
(*.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 1 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.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 (cbrt.f64 (/.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))))
(*.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)))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.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))))
(*.f64 (/.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (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 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.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))))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (hypot.f64 y.re y.im) -3/2))
(*.f64 (/.f64 (pow.f64 (cbrt.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)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) 1) (/.f64 (cbrt.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)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1) (/.f64 (sqrt.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)))
(*.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 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.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))))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) -1)
(pow.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)) 1/3)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) 1) -1)
(neg.f64 (/.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))))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(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)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)))
(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))))
(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))))
(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))))
(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))
Outputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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)) (hypot.f64 y.re y.im))))))
(+.f64 (*.f64 2 (log.f64 (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))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))) 3)
(+.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))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.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 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(*.f64 1 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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 (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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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))))
(/.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))) (*.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.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 (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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (/.f64 1 (neg.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))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (fma.f64 x.re y.re (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(*.f64 (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))))
(/.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.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))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (/.f64 (cbrt.f64 (pow.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)))))
(*.f64 (/.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))) (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (cbrt.f64 (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.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))))
(*.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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(pow.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2) 1/2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(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)
(/.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))) 3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.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)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 x.re y.re (*.f64 x.im y.im))) 1) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(neg.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (neg.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))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(log.f64 (exp.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) 3))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(exp.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (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))
(+.f64 0 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.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 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(-.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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 1 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4)))
(*.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 (cbrt.f64 (/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) (*.f64 (hypot.f64 y.re y.im) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (hypot.f64 y.re y.im) (cbrt.f64 (hypot.f64 y.re y.im)))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.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))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (hypot.f64 y.re y.im) (sqrt.f64 (hypot.f64 y.re y.im)))))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) 3)) (sqrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (hypot.f64 y.re y.im) -3/2))
(*.f64 (/.f64 (pow.f64 (cbrt.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) 1) (/.f64 (cbrt.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 1) (/.f64 (sqrt.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)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.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 (/.f64 1 (hypot.f64 y.re y.im)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.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 (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (hypot.f64 y.re y.im) (cbrt.f64 (hypot.f64 y.re y.im)))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.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 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (sqrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.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 (*.f64 (cbrt.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (*.f64 (hypot.f64 y.re y.im) (cbrt.f64 (hypot.f64 y.re y.im)))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im))) 2) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (cbrt.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4) 1/2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/3)
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.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)) 1/3)
(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)))
(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) 6)))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) -2) 1) -1)
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(neg.f64 (/.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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.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 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(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)))
(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) 6)))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))
0.7b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
0.9b
(/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
28.7b
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
Compiler

Compiled 61 to 16 computations (73.8% saved)

series36.0ms (0.4%)

Counts
1 → 0
Calls

12 calls:

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

Compiled 5085 to 2980 computations (41.4% saved)

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
734×log-prod_binary64
515×fma-def_binary64
261×pow1/3_binary64
257×expm1-udef_binary64
257×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01418
130017
2414917
Stop Event
node limit
Counts
1 → 53
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.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 (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)))))) (#(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 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 (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 (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 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.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 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (*.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) 1) (*.f64 (-.f64 (*.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 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) -1) (*.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) -1) (*.f64 (-.f64 (*.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 (*.f64 -1 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (*.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (*.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (-.f64 (*.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)) (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) (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 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (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 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (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 (/.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 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3) (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 (/.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 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 cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3) (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 (/.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 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 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 fma.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
700×times-frac_binary64
398×associate-/l*_binary64
364×log-prod_binary64
315×associate-/r*_binary64
274×log-div_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01401326
13631306
213401269
368161269
Stop Event
node limit
Counts
53 → 58
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(+.f64 (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)))
(+.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))))))
(+.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))))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.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)))))
(/.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)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.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)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (*.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) 1) (*.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) -1) (*.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) -1) (*.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (*.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 -1 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (*.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.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))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (/.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)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (*.f64 -1 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(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)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.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)) 1/3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)) 1/3)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(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))
(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))))
(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)))))
(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))
(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)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)))
(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))))
(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))))
(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))))
(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))
(fma.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(fma.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(fma.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)))
(fma.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)))
Outputs
(+.f64 0 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.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))))))
(+.f64 (*.f64 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)))))) (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))))))
(*.f64 3 (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))))))
(+.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))))))
(*.f64 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))))))
(-.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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.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)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.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)))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.im (*.f64 y.im (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (*.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.im (*.f64 y.im (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) 1) (*.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) -1) (*.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.im (*.f64 y.im (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) -1) (*.f64 (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (*.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.im (*.f64 y.im (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 -1 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (*.f64 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 1) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (/.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)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.im (*.f64 y.im (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (*.f64 -1 (fma.f64 x.re y.re (*.f64 x.im y.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) -1) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re)) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.im (*.f64 y.im (fma.f64 x.re (neg.f64 y.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 x.re y.re) 2))))
(/.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(pow.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.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)) 1/3)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)))
(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)) 6)))
(pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)))
(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)) 6)))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)))))
(/.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)) 3))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)))
(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)) 6)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3) (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) 3)))
(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)) 6)))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(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))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(fma.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(fma.f64 (*.f64 x.im y.im) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 (*.f64 x.re y.re) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(fma.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(fma.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.im y.im) (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2) (*.f64 x.re y.re)))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
0.7b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
18.2b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im))
Compiler

Compiled 58 to 15 computations (74.1% saved)

series46.0ms (0.4%)

Counts
1 → 0
Calls

12 calls:

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

Compiled 6015 to 3910 computations (35% saved)

rewrite53.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
717×log-prod_binary64
357×fma-def_binary64
354×pow2_binary64
262×pow-unpow_binary64
249×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01320
127617
2382017
Stop Event
node limit
Counts
1 → 58
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (+.f64 (*.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 0 (*.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.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 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.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 (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 1 (*.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 1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (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 1 (/.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 1 (/.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 (/.f64 1 (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 (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 (fma.f64 y.re x.re (*.f64 y.im x.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 y.re x.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 (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) 2) (/.f64 (hypot.f64 y.re y.im) (cbrt.f64 (/.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (/.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 -1 (*.f64 (neg.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 -1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 y.re x.re (*.f64 y.im x.im))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 y.im x.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 y.im x.im) (-.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 y.im x.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 x.im) y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (fma.f64 y.re x.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 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 -1 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 y.re x.re (*.f64 y.im x.im))) -1) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.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 y.re x.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 y.re x.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 -1 (/.f64 (fma.f64 y.re x.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 (neg.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 y.im x.im)))) (neg.f64 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) -1) (neg.f64 (hypot.f64 y.re y.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)) 2) 1/2)))) (#(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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.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)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (hypot.f64 y.re y.im) (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 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 pow.f64 (/.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))) -1)))) (#(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 (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 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 (fma.f64 y.re x.re (*.f64 y.im x.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 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 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 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))))))) (#(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))))))

simplify54.0ms (0.5%)

Algorithm
egg-herbie
Rules
524×log-div_binary64
400×associate-/r*_binary64
347×associate-/l*_binary64
346×associate-*l/_binary64
290×associate-*r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01571090
13981065
212431065
370541065
Stop Event
node limit
Counts
58 → 68
Calls
Call 1
Inputs
(+.f64 0 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.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)
(/.f64 1 (*.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)))))
(/.f64 1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 1 (/.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))))
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 (hypot.f64 y.re y.im) (/.f64 1 (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) 2) (/.f64 (hypot.f64 y.re y.im) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(/.f64 (sqrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)))))
(/.f64 -1 (*.f64 (neg.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)))))
(/.f64 -1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(/.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 y.im x.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 y.im x.im) (-.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 y.im x.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 x.im) y.im))))
(/.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(/.f64 (*.f64 -1 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) -1) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) -1) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (hypot.f64 y.re y.im)))
(/.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 1) (hypot.f64 y.re y.im))
(/.f64 (/.f64 (/.f64 (fma.f64 y.re x.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)))
(/.f64 (*.f64 -1 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (neg.f64 (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) -1) (neg.f64 (hypot.f64 y.re y.im)))
(pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(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)) 2) 1/2)
(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)
(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)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)) 1/3)
(pow.f64 (*.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)))) -1)
(pow.f64 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) -1)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(pow.f64 (/.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))) -1)
(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))
(log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(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)))))
(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))
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)))
(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))))
(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))))
(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))))
(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))
Outputs
(+.f64 0 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.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)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (*.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)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (/.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))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (/.f64 (hypot.f64 y.re y.im) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)) (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) 2)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) 2) (/.f64 (hypot.f64 y.re y.im) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (sqrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 -1 (*.f64 (neg.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)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 -1 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 y.im x.im) 3)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 (*.f64 y.im x.im) (-.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))
(/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 y.im x.im) 3)) (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 (*.f64 y.im x.im) (-.f64 (*.f64 y.im x.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 y.im x.im) 3)) (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.im (*.f64 x.im (-.f64 (*.f64 y.im x.im) (*.f64 y.re x.re))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 y.im x.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 x.im) y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 y.im x.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im (neg.f64 x.im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 y.im x.im) 2)) (*.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (-.f64 (*.f64 y.re x.re) (*.f64 y.im x.im))))
(/.f64 (neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 -1 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) -1) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) -1) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) (sqrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 1) (hypot.f64 y.re y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (/.f64 (fma.f64 y.re x.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)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 -1 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (/.f64 1 (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (neg.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) -1) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)) 2) 1/2)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)
(*.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))) 3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) 2)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3)) 1/3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)) 1/3)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.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)))) -1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (*.f64 (/.f64 (hypot.f64 y.re y.im) (fma.f64 y.re x.re (*.f64 y.im x.im))) (hypot.f64 y.re y.im)) -1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 y.im x.im))) -1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(pow.f64 (/.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))) -1)
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 y.im x.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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)))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (hypot.f64 y.re y.im) 3)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (hypot.f64 y.re y.im)) 3) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 3)))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(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))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
0.2b
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
0.7b
(+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
9.7b
(sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
Compiler

Compiled 59 to 13 computations (78% saved)

series479.0ms (4.6%)

Counts
4 → 0
Calls

48 calls:

TimeVariablePointExpression
2.0ms
x.im
@0
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
1.0ms
x.im
@inf
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
1.0ms
y.im
@-inf
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
1.0ms
y.im
@inf
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
1.0ms
y.re
@0
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
Compiler

Compiled 44985 to 25695 computations (42.9% saved)

rewrite75.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
671×log-prod_binary64
359×fma-def_binary64
352×pow2_binary64
243×pow1/3_binary64
242×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01353
127951
2360251
Stop Event
node limit
Counts
4 → 187
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (hypot.f64 (pow.f64 (*.f64 x.im y.im) 3/2) (pow.f64 (*.f64 y.re x.re) 3/2)) (hypot.f64 (*.f64 y.re x.re) (sqrt.f64 (*.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 y.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y.re x.re) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))) (/.f64 (pow.f64 (*.f64 x.im y.im) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (/.f64 1 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (/.f64 1 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)) (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (*.f64 y.re (*.f64 x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (neg.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (neg.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 y.re x.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)) (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re x.re))) (pow.f64 (exp.f64 y.im) x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re x.re))) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (+.f64 1 (expm1.f64 (*.f64 y.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (+.f64 1 (expm1.f64 (*.f64 y.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re x.re (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re y.re (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re x.re) 1 (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im y.im (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.im x.im (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im y.im) 1 (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y.re x.re)) (pow.f64 (cbrt.f64 (*.f64 y.re x.re)) 2) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y.re x.re)) 2) (cbrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 x.im) 2)) (cbrt.f64 x.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 y.re x.re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 y.re x.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 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.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 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.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 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (sqrt.f64 (fma.f64 y.re x.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 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (neg.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.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 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 1 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.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 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4)) (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (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) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 1))))))

simplify70.0ms (0.7%)

Algorithm
egg-herbie
Rules
340×log-prod_binary64
317×cancel-sign-sub-inv_binary64
277×associate-*l*_binary64
274×associate-*r*_binary64
253×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04133234
19313129
237673055
Stop Event
node limit
Counts
187 → 223
Calls
Call 1
Inputs
(+.f64 0 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 1)
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(*.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(/.f64 (hypot.f64 (pow.f64 (*.f64 x.im y.im) 3/2) (pow.f64 (*.f64 y.re x.re) 3/2)) (hypot.f64 (*.f64 y.re x.re) (sqrt.f64 (*.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/2)
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3/2)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 3)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 2)
(fabs.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))
(hypot.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 y.re x.re)))
(hypot.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 x.im y.im)))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y.re x.re) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))) (/.f64 (pow.f64 (*.f64 x.im y.im) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (/.f64 1 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (/.f64 1 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(*.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)) (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))))
(/.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (*.f64 y.re (*.f64 x.re (*.f64 x.im y.im))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (neg.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (neg.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 y.re x.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/3)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 2/3)
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 6)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 4)
(pow.f64 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)) (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) -1)
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))
(log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re x.re))) (pow.f64 (exp.f64 y.im) x.im)))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re x.re))) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (+.f64 1 (expm1.f64 (*.f64 y.re x.re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (+.f64 1 (expm1.f64 (*.f64 y.re x.re)))))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re x.re) 1 (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 y.re x.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 (*.f64 x.im y.im) 1 (*.f64 y.re x.re))
(fma.f64 1 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 1 (*.f64 x.im y.im) (*.f64 y.re x.re))
(fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 y.re x.re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 (cbrt.f64 (*.f64 y.re x.re)) (pow.f64 (cbrt.f64 (*.f64 y.re x.re)) 2) (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y.re x.re)) 2) (cbrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 x.im) 2)) (cbrt.f64 x.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 y.re x.re))
(+.f64 0 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 1 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(/.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(/.f64 1 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))
(/.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (neg.f64 (hypot.f64 y.re y.im)))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(exp.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))
(+.f64 0 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1)
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(*.f64 1 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4)) (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (hypot.f64 y.re y.im)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (cbrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (hypot.f64 y.re y.im))))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3) 1/3)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/6)
(pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3/2)
(pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2)
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) -1)
(pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) -1)
(neg.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))
(sqrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(fabs.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(log.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)))
(expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(exp.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 1))
Outputs
(+.f64 0 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) 1)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 1 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6)
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6)
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(/.f64 (hypot.f64 (pow.f64 (*.f64 x.im y.im) 3/2) (pow.f64 (*.f64 y.re x.re) 3/2)) (hypot.f64 (*.f64 y.re x.re) (sqrt.f64 (*.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))))))
(/.f64 (hypot.f64 (pow.f64 (*.f64 x.im y.im) 3/2) (pow.f64 (*.f64 y.re x.re) 3/2)) (hypot.f64 (*.f64 y.re x.re) (sqrt.f64 (*.f64 x.im (*.f64 y.im (fma.f64 y.re (neg.f64 x.re) (*.f64 x.im y.im)))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (sqrt.f64 (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/2)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/6)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3/2)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 3)
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6)
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 2)
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fabs.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2))
(hypot.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 y.re x.re)))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(hypot.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 x.im y.im)))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1/2))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1))
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(-.f64 (/.f64 (pow.f64 (*.f64 y.re x.re) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))) (/.f64 (pow.f64 (*.f64 x.im y.im) 2) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6)))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (/.f64 1 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (fma.f64 y.re (neg.f64 x.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 y.re x.re) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (/.f64 1 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6)))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6))
(/.f64 1 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)) (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (fma.f64 y.re (neg.f64 x.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (fma.f64 y.re (neg.f64 x.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (*.f64 y.re (*.f64 x.re (*.f64 x.im y.im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (-.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 y.re x.re) 2)) (*.f64 y.re (*.f64 x.re (*.f64 x.im y.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) (neg.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (fma.f64 y.re (neg.f64 x.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) (neg.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 y.re x.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2) 1/2)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) 1/3)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) 2/3)
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2)) (cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2)))
(pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 3)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) 6)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 4)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(pow.f64 (/.f64 (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)) (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) 1) (fma.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))) (pow.f64 (*.f64 y.re x.re) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 x.im (*.f64 y.im (fma.f64 y.re (neg.f64 x.re) (*.f64 x.im y.im))) (pow.f64 (*.f64 y.re x.re) 2)))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 (neg.f64 y.im) x.im)) (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im (neg.f64 y.im))))
(/.f64 (-.f64 (pow.f64 (*.f64 y.re x.re) 2) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re x.re))) (pow.f64 (exp.f64 y.im) x.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 x.re) y.re) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y.re x.re))) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (pow.f64 (exp.f64 x.re) y.re)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (+.f64 1 (expm1.f64 (*.f64 y.re x.re)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (+.f64 1 (expm1.f64 (*.f64 y.re x.re)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re x.re) 1 (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im y.im) 1 (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 1 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 1 (*.f64 x.im y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.im) 2) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re (cbrt.f64 x.re)) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 y.re x.re)) (pow.f64 (cbrt.f64 (*.f64 y.re x.re)) 2) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y.re x.re)) 2) (cbrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) y.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re (cbrt.f64 x.re)) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 y.re) 2)) (cbrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 y.im) 2)) (cbrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 x.im) 2)) (cbrt.f64 x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 0 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 1 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 1 (pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 2) (pow.f64 (neg.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) (*.f64 (neg.f64 (hypot.f64 y.re y.im)) (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (*.f64 (hypot.f64 y.re y.im) (neg.f64 (hypot.f64 y.re y.im))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (hypot.f64 y.re y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (neg.f64 (hypot.f64 y.re y.im)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(sqrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 4))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) -2)))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 1))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(+.f64 0 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))) 1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 1 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))
(/.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 1 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (neg.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (/.f64 1 (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 4)) (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))) (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (/.f64 1 (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (hypot.f64 y.re y.im)))
(/.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6) (hypot.f64 y.re y.im))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 1) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) -2)) (cbrt.f64 (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)))
(*.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (cbrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (cbrt.f64 (hypot.f64 y.re y.im)))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(/.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (hypot.f64 y.re y.im))) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2))
(*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (hypot.f64 y.re y.im)))
(/.f64 (pow.f64 (hypot.f64 y.re y.im) -1/2) (/.f64 (sqrt.f64 (hypot.f64 y.re y.im)) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (hypot.f64 y.re y.im))) (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/6) (sqrt.f64 (hypot.f64 y.re y.im))))
(/.f64 (/.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/12) 6) (sqrt.f64 (hypot.f64 y.re y.im))) (sqrt.f64 (hypot.f64 y.re y.im)))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)) 1/2)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3) 1/3)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 6) 1/6)
(pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 3)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))) 3/2)
(pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 2)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) -1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)) 1/3)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(pow.f64 (/.f64 (/.f64 (hypot.f64 y.re y.im) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1) -1)
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(neg.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (neg.f64 (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(sqrt.f64 (*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(fabs.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(log.f64 (exp.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 3))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3/2) (pow.f64 (hypot.f64 y.re y.im) 3)))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))) 1))
(/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im))

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)
0.3b
(fma.f64 y.re x.re (*.f64 x.im y.im))
9.7b
(sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))
15.1b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 64 to 16 computations (75% saved)

series430.0ms (4.1%)

Counts
2 → 0
Calls

24 calls:

TimeVariablePointExpression
33.0ms
x.re
@0
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
2.0ms
x.re
@inf
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
2.0ms
x.im
@inf
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
2.0ms
y.im
@inf
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
1.0ms
y.re
@inf
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 32525 to 20170 computations (38% saved)

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
779×prod-diff_binary64
644×log-prod_binary64
262×fma-def_binary64
238×expm1-udef_binary64
238×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01426
129925
2360025
Stop Event
node limit
Counts
2 → 94
Calls
Call 1
Inputs
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.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 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 (fma.f64 y.re x.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 (pow.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.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 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 (+.f64 y.re y.im) (-.f64 y.re y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 y.re x.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 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y.re x.re) 1) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 y.re x.re) (*.f64 y.re x.re) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y.re x.re) (*.f64 y.re x.re)) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.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 y.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 y.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re x.re (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re y.re (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im y.im (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.im x.im (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im y.im) 1 (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y.re x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re x.re) 1 (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re x.re)) (cbrt.f64 (*.f64 y.re x.re))) (cbrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 y.re) (sqrt.f64 x.re)) (*.f64 (sqrt.f64 y.re) (sqrt.f64 x.re)) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 y.im y.im))) (cbrt.f64 y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 x.im) 2)) (cbrt.f64 x.im) (*.f64 y.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 y.re x.re))))))

simplify45.0ms (0.4%)

Algorithm
egg-herbie
Rules
788×fma-def_binary64
726×times-frac_binary64
585×associate-/l*_binary64
422×unswap-sqr_binary64
295×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02471479
15731417
219211376
Stop Event
node limit
Counts
94 → 115
Calls
Call 1
Inputs
(+.f64 0 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(*.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 (+.f64 y.re y.im) (-.f64 y.re y.im)))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 3)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) -1)
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) -1)
(neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(exp.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))
(+.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))
(+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(+.f64 0 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(+.f64 (*.f64 (*.f64 y.re x.re) 1) (*.f64 x.im y.im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(*.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 y.re x.re) (*.f64 y.re x.re) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))
(/.f64 (-.f64 (*.f64 (*.f64 y.re x.re) (*.f64 y.re x.re)) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))
(log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (exp.f64 (*.f64 y.re x.re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 y.re x.re))))
(log.f64 (*.f64 (exp.f64 (*.f64 y.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 y.re x.re))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 (*.f64 x.im y.im) 1 (*.f64 y.re x.re))
(fma.f64 1 (*.f64 x.im y.im) (*.f64 y.re x.re))
(fma.f64 1 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 y.re x.re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 y.re x.re) 1 (*.f64 x.im y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re x.re)) (cbrt.f64 (*.f64 y.re x.re))) (cbrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 (*.f64 (sqrt.f64 y.re) (sqrt.f64 x.re)) (*.f64 (sqrt.f64 y.re) (sqrt.f64 x.re)) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 y.im y.im))) (cbrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 x.im) 2)) (cbrt.f64 x.im) (*.f64 y.re x.re))
(fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 y.re x.re))
Outputs
(+.f64 0 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 1 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (neg.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)) (fma.f64 y.re x.re (*.f64 x.im y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) 1) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.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 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(*.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 y.re y.im) 2)) 2) (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (hypot.f64 y.re y.im)) (/.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (-.f64 (+.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (pow.f64 (*.f64 y.re y.im) 2)))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (pow.f64 y.re 6) (pow.f64 y.im 6))) (+.f64 (pow.f64 y.re 4) (-.f64 (pow.f64 y.im 4) (pow.f64 (*.f64 y.re y.im) 2))))
(*.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4))) (*.f64 (+.f64 y.re y.im) (-.f64 y.re y.im)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3) 1/3)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (cbrt.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 3)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) -1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(pow.f64 (/.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 y.re x.re (*.f64 x.im y.im))) 1) -1)
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(neg.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (neg.f64 (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log.f64 (exp.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2)) 3))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3) (pow.f64 (pow.f64 (hypot.f64 y.re y.im) 2) 3)))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(exp.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))) 1))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) 2))
(+.f64 (*.f64 x.im y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 0 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 (*.f64 (*.f64 y.re x.re) 1) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1)
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 1 (fma.f64 y.re x.re (*.f64 x.im y.im)))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (*.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (pow.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4) 3) (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 1/4))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(*.f64 (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))) (*.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (cbrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 y.re x.re) (*.f64 y.re x.re) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 (*.f64 y.re x.re) (*.f64 y.re x.re) (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (*.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y.re x.re) 3) (pow.f64 (*.f64 x.im y.im) 3)) (fma.f64 y.re (*.f64 x.re (*.f64 y.re x.re)) (*.f64 (*.f64 x.im y.im) (-.f64 (*.f64 x.im y.im) (*.f64 y.re x.re)))))
(/.f64 (-.f64 (*.f64 (*.f64 y.re x.re) (*.f64 y.re x.re)) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (*.f64 x.re (*.f64 x.re (*.f64 y.re y.re))) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(/.f64 (-.f64 (*.f64 y.re (*.f64 y.re (*.f64 x.re x.re))) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im)))
(sqrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 2))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (exp.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (pow.f64 (exp.f64 y.im) x.im) (exp.f64 (*.f64 y.re x.re))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im y.im))) (exp.f64 (*.f64 y.re x.re))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log.f64 (*.f64 (exp.f64 (*.f64 y.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im y.im)))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) 3))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(expm1.f64 (log1p.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(log1p.f64 (expm1.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(exp.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(exp.f64 (*.f64 (log.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 1))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.re y.re (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 x.im y.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 y.im x.im (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im y.im) 1 (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 1 (*.f64 x.im y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 1 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 y.re) 2) (*.f64 (cbrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 (cbrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.im (cbrt.f64 y.im)) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im (*.f64 (cbrt.f64 (*.f64 y.im y.im)) (cbrt.f64 y.im))))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im y.im)) 2) (cbrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.im) (*.f64 (sqrt.f64 y.im) x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 y.re) (*.f64 (sqrt.f64 y.re) x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 x.im y.im)) (sqrt.f64 (*.f64 x.im y.im)) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re x.re) 1 (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re x.re)) (cbrt.f64 (*.f64 y.re x.re))) (cbrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (sqrt.f64 (*.f64 y.re x.re)) (sqrt.f64 (*.f64 y.re x.re)) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 (sqrt.f64 y.re) (sqrt.f64 x.re)) (*.f64 (sqrt.f64 y.re) (sqrt.f64 x.re)) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.re (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im y.im))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 y.im y.im))) (cbrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.im (cbrt.f64 y.im)) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im (*.f64 (cbrt.f64 (*.f64 y.im y.im)) (cbrt.f64 y.im))))
(fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.im (pow.f64 (cbrt.f64 x.im) 2)) (cbrt.f64 x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))
(fma.f64 (*.f64 y.im (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 y.re x.re))
(fma.f64 y.re x.re (*.f64 x.im y.im))

eval321.0ms (3.1%)

Compiler

Compiled 22178 to 6728 computations (69.7% saved)

prune366.0ms (3.5%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New102031023
Fresh156
Picked101
Done066
Total1022141036
Error
18.2b
Counts
1036 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
41.4b
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
45.5b
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
47.0b
(/.f64 (/.f64 (-.f64 (*.f64 x.re (*.f64 x.re (*.f64 y.re y.re))) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
19.3b
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
29.9b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
23.3b
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -3/2)) (sqrt.f64 (hypot.f64 y.re y.im)))
19.4b
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
19.8b
(/.f64 1 (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))
19.4b
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
29.4b
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
29.4b
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2))
29.9b
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
53.0b
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
62.0b
(log.f64 (*.f64 3 (log.f64 (cbrt.f64 (exp.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))))))))
Compiler

Compiled 293 to 176 computations (39.9% saved)

regimes112.0ms (1.1%)

Counts
40 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (fma.f64 y.re x.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)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (/.f64 (-.f64 (*.f64 x.re (*.f64 x.re (*.f64 y.re y.re))) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2))
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
(*.f64 (/.f64 1 (hypot.f64 y.re y.im)) (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)))
(/.f64 1 (*.f64 (hypot.f64 y.re y.im) (/.f64 (hypot.f64 y.re y.im) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)) (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (/.f64 (-.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)) (-.f64 (pow.f64 y.re 4) (pow.f64 y.im 4)))))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 y.re x.re (*.f64 y.im x.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (pow.f64 (hypot.f64 y.re y.im) 2)))
(/.f64 1 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.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))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(*.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 (*.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)))))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (hypot.f64 y.re y.im))) (hypot.f64 y.re y.im))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 3)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 3) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) 2) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.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)))
(/.f64 (fma.f64 (*.f64 x.im (sqrt.f64 y.im)) (sqrt.f64 y.im) (*.f64 x.re y.re)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (fma.f64 (*.f64 x.re (sqrt.f64 y.re)) (sqrt.f64 y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 y.re x.re (*.f64 x.im y.im))) (hypot.f64 y.re y.im)) 2)
(pow.f64 (/.f64 (pow.f64 (hypot.f64 y.re y.im) 2) (fma.f64 x.re y.re (*.f64 x.im y.im))) -1)
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))
(/.f64 (*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -3/2)) (sqrt.f64 (hypot.f64 y.re y.im)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 y.re y.im) -2)) (fma.f64 x.re y.re (*.f64 x.im y.im))))
(/.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)))
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 2)) (pow.f64 (cbrt.f64 (hypot.f64 y.re y.im)) 4))
(*.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)))
(log.f64 (*.f64 3 (log.f64 (cbrt.f64 (exp.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))))))))
Outputs
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
Calls

5 calls:

26.0ms
x.im
20.0ms
y.re
19.0ms
y.im
19.0ms
x.re
13.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Results
ErrorSegmentsBranch
19.3b1x.re
19.3b1x.im
19.3b1y.re
19.3b1y.im
19.3b1(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 721 to 217 computations (69.9% saved)

regimes34.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (fma.f64 y.re x.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)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (/.f64 (-.f64 (*.f64 x.re (*.f64 x.re (*.f64 y.re y.re))) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (/.f64 1 (hypot.f64 y.re y.im)) 2))
Outputs
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
Calls

5 calls:

8.0ms
x.im
7.0ms
y.im
6.0ms
x.re
6.0ms
y.re
4.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Results
ErrorSegmentsBranch
29.4b1x.re
29.4b1x.im
29.4b1y.re
29.4b1y.im
29.4b1(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 204 to 74 computations (63.7% saved)

regimes27.0ms (0.3%)

Counts
6 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (fma.f64 y.re x.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)) (/.f64 1 (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im))))
(/.f64 (/.f64 (-.f64 (*.f64 x.re (*.f64 x.re (*.f64 y.re y.re))) (pow.f64 (*.f64 x.im y.im) 2)) (-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (*.f64 x.im y.im) (*.f64 x.re y.re))) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Outputs
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Calls

5 calls:

6.0ms
x.im
5.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
5.0ms
y.im
5.0ms
x.re
5.0ms
y.re
Results
ErrorSegmentsBranch
29.9b1x.re
29.9b1x.im
29.9b1y.re
29.9b1y.im
29.9b1(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 163 to 63 computations (61.3% saved)

regimes18.0ms (0.2%)

Accuracy

Total -0.1b remaining (-0.2%)

Threshold costs -0.1b (-0.2%)

Counts
2 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (/.f64 1 (+.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)))
Calls

5 calls:

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

Compiled 75 to 41 computations (45.3% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02083
12583
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Outputs
(/.f64 (/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (hypot.f64 y.re y.im)) (hypot.f64 y.re y.im))
(*.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (pow.f64 (hypot.f64 y.re y.im) -2))
(/.f64 (fma.f64 y.re x.re (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 73 to 42 computations (42.5% saved)

soundness0.0ms (0%)

end55.0ms (0.5%)

Compiler

Compiled 61 to 19 computations (68.9% saved)

Profiling

Loading profile data...