Details

Time bar (total: 2.6s)

analyze286.0ms (11.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
14.1%14%85.8%0.2%0%0%0%11
19.6%18.7%76.8%0.2%4.3%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.0s (39.8%)

Results
795.0ms8256×body256valid
213.0ms2029×body256infinite
Bogosity

preprocess185.0ms (7.2%)

Algorithm
egglog
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(-.f64 (*.f64 y.im y.re) (*.f64 x.im x.re))
(-.f64 (*.f64 x.re x.im) (*.f64 y.re y.im))
(-.f64 (*.f64 x.re y.re) (*.f64 y.im x.im))
(-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
Outputs
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))
(-.f64 (*.f64 y.re x.re) (*.f64 x.im y.im))
(fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))
(-.f64 (*.f64 y.im y.re) (*.f64 x.im x.re))
(fma.f64 y.im y.re (neg.f64 (*.f64 x.im x.re)))
(-.f64 (*.f64 x.re x.im) (*.f64 y.re y.im))
(fma.f64 x.re x.im (neg.f64 (*.f64 y.im y.re)))
(-.f64 (*.f64 x.re y.re) (*.f64 y.im x.im))
(fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))
(-.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (neg.f64 (*.f64 x.im y.re)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify63.0ms (2.4%)

Algorithm
egglog
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Outputs
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))

eval1.0ms (0%)

Compiler

Compiled 18 to 9 computations (50% saved)

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize13.0ms (0.5%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 7 computations (66.7% saved)

series14.0ms (0.5%)

Counts
1 → 48
Calls

12 calls:

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

Compiled 1885 to 635 computations (66.3% saved)

rewrite92.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
64×egg-rr
Counts
1 → 64
Calls
Call 1
Inputs
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2))) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (neg.f64 y.im) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y.im) x.im (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))))) (#(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 x.re y.re (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y.re x.re (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.re y.re) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.re) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re y.re) 1 (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (cbrt.f64 (*.f64 x.re y.re)) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.re) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y.re (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x.im) (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x.im y.im) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re)))) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x.re y.re) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))) 0) (/.f64 (-.f64 0 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (+.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))))) 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 0) (/.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 y.im))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re y.re) (neg.f64 (*.f64 x.im y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 -1 (neg.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 (neg.f64 (*.f64 x.re y.re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x.im y.im)) (neg.f64 (neg.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (neg.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 (+.f64 (*.f64 x.re y.re) 0) (*.f64 x.im y.im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 x.im y.im)) (neg.f64 (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))) (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) (-.f64 (cbrt.f64 (*.f64 x.re y.re)) (cbrt.f64 (*.f64 x.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (fma.f64 (neg.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 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3))))))

simplify380.0ms (14.8%)

Algorithm
egglog
Counts
112 → 77
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y.im x.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2))) (*.f64 x.re y.re))
(fma.f64 x.im (neg.f64 y.im) (*.f64 x.re y.re))
(fma.f64 (neg.f64 y.im) x.im (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 -1 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (cbrt.f64 (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.re x.re (neg.f64 (*.f64 x.im y.im)))
(fma.f64 1 (*.f64 x.re y.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (*.f64 x.re y.re) 1 (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (cbrt.f64 (*.f64 x.re y.re)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (*.f64 x.re (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (*.f64 y.re (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 (cbrt.f64 (neg.f64 (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 x.re y.re))
(fma.f64 (*.f64 (neg.f64 x.im) (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re y.re))
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 x.re y.re))
(fma.f64 1 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 1 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(fma.f64 0 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.im y.im) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re)))) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))) 0) (/.f64 (-.f64 0 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (+.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))))) 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 0) (/.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 y.im))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(+.f64 (*.f64 x.re y.re) (neg.f64 (*.f64 x.im y.im)))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 -1 (neg.f64 (*.f64 x.re y.re))))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 (neg.f64 (*.f64 x.re y.re)) -1))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (neg.f64 (neg.f64 (*.f64 x.re y.re))))
(+.f64 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(-.f64 (+.f64 (*.f64 x.re y.re) 0) (*.f64 x.im y.im))
(-.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))
(-.f64 (neg.f64 (*.f64 x.im y.im)) (neg.f64 (*.f64 x.re y.re)))
(*.f64 1 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(*.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 1)
(*.f64 -1 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))
(*.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) -1)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))))
(*.f64 (neg.f64 (cbrt.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))) (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) (-.f64 (cbrt.f64 (*.f64 x.re y.re)) (cbrt.f64 (*.f64 x.im y.im))))
(*.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))
(*.f64 (cbrt.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))) 2))
(pow.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) 3)
(pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 1)
(pow.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) 1/3)
(neg.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))
(neg.f64 (-.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0))
(cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3))
Outputs
(*.f64 -1 (*.f64 y.im x.im))
(neg.f64 (*.f64 x.im y.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(neg.f64 (*.f64 x.im y.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(neg.f64 (*.f64 x.im y.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(neg.f64 (*.f64 x.im y.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 x.re y.re)
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(neg.f64 (*.f64 x.im y.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 -1 (*.f64 y.im x.im))
(neg.f64 (*.f64 x.im y.im))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (*.f64 -1 (*.f64 y.im x.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im y.im)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2))) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 x.im (neg.f64 y.im) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (neg.f64 y.im) x.im (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 -1 (*.f64 x.im y.im) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 x.re y.re (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (*.f64 x.re y.re)) (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 y.re x.re (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 1 (*.f64 x.re y.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 x.re y.re) 1 (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (cbrt.f64 (*.f64 x.re y.re)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 x.re (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 y.re (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (cbrt.f64 (neg.f64 (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (*.f64 (neg.f64 x.im) (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im y.im))) (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 1 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 1 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(fma.f64 0 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.im y.im) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.im y.im) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x.re y.re) 2) (*.f64 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re)))) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re)) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.im) 2) (pow.f64 (*.f64 x.re y.re) 2)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 0) (/.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 y.im))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))) 0) (/.f64 (-.f64 0 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (+.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0) (/.f64 (pow.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 2) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x.im y.im) 2) (-.f64 (pow.f64 (*.f64 x.re y.re) 2) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (*.f64 x.re y.re) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 0 0) (/.f64 (pow.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 2) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0) (/.f64 (pow.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 2) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))))) 0) (/.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) (+.f64 0 (+.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2) (*.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (pow.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 2) 0) (/.f64 (pow.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 2) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.im) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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 (neg.f64 (*.f64 x.im y.im)) (-.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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) (neg.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)))))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (neg.f64 (*.f64 x.im y.im)) 0) (/.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) (fma.f64 x.re y.re (*.f64 x.im y.im)) (pow.f64 (*.f64 x.re y.re) 2))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 0) (/.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 y.im))) (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(if (!=.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) 0) (/.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 y.im))) (fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re)))
(+.f64 (*.f64 x.re y.re) (neg.f64 (*.f64 x.im y.im)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 x.re y.re))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 -1 (neg.f64 (*.f64 x.re y.re))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (*.f64 (neg.f64 (*.f64 x.re y.re)) -1))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 (neg.f64 (*.f64 x.im y.im)) (neg.f64 (neg.f64 (*.f64 x.re y.re))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(+.f64 0 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(-.f64 (+.f64 (*.f64 x.re y.re) 0) (*.f64 x.im y.im))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(-.f64 0 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(-.f64 (neg.f64 (*.f64 x.im y.im)) (neg.f64 (*.f64 x.re y.re)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 1 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 1)
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 -1 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) -1)
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (neg.f64 (cbrt.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))) (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.re) 2)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))))) (-.f64 (cbrt.f64 (*.f64 x.re y.re)) (cbrt.f64 (*.f64 x.im y.im))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)) (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (cbrt.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re)))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 2))) 2))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(pow.f64 (cbrt.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re))) 3)
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 1)
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(pow.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3) 1/3)
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(neg.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(neg.f64 (-.f64 (fma.f64 y.im x.im (neg.f64 (*.f64 x.re y.re))) 0))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))
(cbrt.f64 (pow.f64 (fma.f64 (neg.f64 x.im) y.im (*.f64 x.re y.re)) 3))
(fma.f64 y.im (neg.f64 x.im) (*.f64 x.re y.re))

eval32.0ms (1.2%)

Compiler

Compiled 1661 to 478 computations (71.2% saved)

prune38.0ms (1.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New74377
Fresh000
Picked011
Done000
Total74478
Error
0b
Counts
78 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(fma.f64 y.re x.re (neg.f64 (*.f64 x.im y.im)))
0.0b
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
31.6b
(*.f64 x.re y.re)
29.8b
(neg.f64 (*.f64 x.im y.im))
Compiler

Compiled 37 to 25 computations (32.4% saved)

localize14.0ms (0.6%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize13.0ms (0.5%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize14.0ms (0.6%)

Compiler

Compiled 22 to 7 computations (68.2% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done033
Total044
Error
0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(fma.f64 y.re x.re (neg.f64 (*.f64 x.im y.im)))
0.0b
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
31.6b
(*.f64 x.re y.re)
29.8b
(neg.f64 (*.f64 x.im y.im))
Compiler

Compiled 37 to 25 computations (32.4% saved)

regimes60.0ms (2.3%)

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

7 calls:

13.0ms
x.re
8.0ms
(*.f64 x.re y.re)
8.0ms
(*.f64 x.im y.im)
8.0ms
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
7.0ms
y.im
Results
ErrorSegmentsBranch
0b1x.re
0b1x.im
0b1y.re
0b1y.im
0b1(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
0b1(*.f64 x.re y.re)
0b1(*.f64 x.im y.im)
Compiler

Compiled 70 to 42 computations (40% saved)

regimes49.0ms (1.9%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 x.re y.re)
(neg.f64 (*.f64 x.im y.im))
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Outputs
(-.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
Calls

7 calls:

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

Compiled 63 to 41 computations (34.9% saved)

regimes194.0ms (7.5%)

Accuracy

Total -47.8b remaining (-382.5%)

Threshold costs -47.8b (-382.5%)

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

6 calls:

54.0ms
y.im
35.0ms
y.re
31.0ms
x.re
29.0ms
x.im
26.0ms
(*.f64 x.re y.re)
Results
ErrorSegmentsBranch
18.7b5x.re
15.5b7x.im
18.1b5y.re
17.8b9y.im
12.5b5(*.f64 x.re y.re)
14.1b3(*.f64 x.im y.im)
Compiler

Compiled 45 to 33 computations (26.7% saved)

bsearch65.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
0.00036538488927939525
83195507.67122135
11.0ms
3.1803531967586052e-21
9.692406135700683e-20
14.0ms
1.572343251143783e-89
3.847393693071741e-80
24.0ms
-1.047112045817346e-83
-3.479171493899155e-86
Results
58.0ms544×body256valid
Compiler

Compiled 528 to 421 computations (20.3% saved)

simplify1.0ms (0.1%)

Stop Event
done
Compiler

Compiled 74 to 38 computations (48.6% saved)

soundness0.0ms (0%)

end28.0ms (1.1%)

Compiler

Compiled 62 to 21 computations (66.1% saved)

Profiling

Loading profile data...