Details

Time bar (total: 3.0s)

analyze278.0ms (9.2%)

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

Compiled 12 to 8 computations (33.3% saved)

sample1.1s (35.3%)

Results
830.0ms8256×body256valid
220.0ms2114×body256infinite
Bogosity

preprocess174.0ms (5.8%)

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

Compiled 15 to 11 computations (26.7% saved)

simplify62.0ms (2%)

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

eval2.0ms (0.1%)

Compiler

Compiled 17 to 8 computations (52.9% saved)

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 21 to 13 computations (38.1% saved)

localize22.0ms (0.7%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 7 computations (66.7% saved)

series21.0ms (0.7%)

Counts
1 → 48
Calls

12 calls:

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

Compiled 1465 to 45 computations (96.9% saved)

rewrite103.0ms (3.4%)

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

simplify162.0ms (5.4%)

Algorithm
egglog
Counts
88 → 45
Calls
Call 1
Inputs
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 x.im y.re (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 y.im x.re (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 y.im) (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re) (*.f64 x.im y.re))
(fma.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (*.f64 x.im y.re))
(fma.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im))
(fma.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.re y.im))
(fma.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 x.re y.im)) (*.f64 x.im y.re))
(fma.f64 1 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 1 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 (*.f64 x.im y.re) 1 (*.f64 x.re y.im))
(fma.f64 (*.f64 x.re y.im) 1 (*.f64 x.im y.re))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 x.im y.re))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.im y.re) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))))
(*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (*.f64 x.im y.re))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (*.f64 x.re y.im))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2))
(*.f64 1 (fma.f64 x.re y.im (*.f64 x.im y.re)))
(*.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(pow.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) 3)
(pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3))
Outputs
(*.f64 y.re x.im)
(*.f64 x.im y.re)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 y.re x.im)
(*.f64 x.im y.re)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 y.re x.im)
(*.f64 x.im y.re)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 y.re x.im)
(*.f64 x.im y.re)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 y.re x.im)
(*.f64 x.im y.re)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 y.re x.im)
(*.f64 x.im y.re)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 x.im y.re (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 y.im x.re (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 y.im) (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 x.re y.im)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 1 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 1 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (*.f64 x.im y.re) 1 (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 (*.f64 x.re y.im) 1 (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 x.im y.re))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.im y.re) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2))))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (*.f64 x.im y.re))))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (*.f64 x.re y.im))))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 1 (fma.f64 x.re y.im (*.f64 x.im y.re)))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(*.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(fma.f64 x.re y.im (*.f64 x.im y.re))
(pow.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3) 1/3)
(fma.f64 x.re y.im (*.f64 x.im y.re))
(pow.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) 3)
(fma.f64 x.re y.im (*.f64 x.im y.re))
(pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(fma.f64 x.re y.im (*.f64 x.im y.re))
(cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3))
(fma.f64 x.re y.im (*.f64 x.im y.re))

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 6 computations (64.7% saved)

series9.0ms (0.3%)

Counts
1 → 48
Calls

12 calls:

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

Compiled 1465 to 45 computations (96.9% saved)

rewrite86.0ms (2.9%)

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

simplify243.0ms (8.1%)

Algorithm
egglog
Counts
112 → 76
Calls
Call 1
Inputs
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 x.im y.re (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 y.im x.re (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (*.f64 x.re y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 x.re y.im))
(fma.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (cbrt.f64 y.re)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 y.re (cbrt.f64 x.im)) (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 y.im)) (cbrt.f64 y.im) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re (cbrt.f64 y.im)) (*.f64 x.im y.re))
(fma.f64 (*.f64 x.re (cbrt.f64 (*.f64 y.im y.im))) (cbrt.f64 y.im) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.im (cbrt.f64 x.re)) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 y.im) (*.f64 x.re (cbrt.f64 (*.f64 y.im y.im))) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (cbrt.f64 x.re)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.re x.re))) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im)) (*.f64 x.im y.re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (cbrt.f64 x.re) (*.f64 x.im y.re))
(fma.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (*.f64 x.im y.re))
(fma.f64 (*.f64 x.im y.re) 1 (*.f64 x.re y.im))
(fma.f64 1 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 1 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 (*.f64 x.re y.im) 1 (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (*.f64 x.re y.im))
(fma.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (*.f64 x.im y.re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (cbrt.f64 x.im) (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) 2) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im y.re) 2) (cbrt.f64 (*.f64 x.im y.re)))) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 x.im)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im)))) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.im (cbrt.f64 y.re)) (*.f64 x.re y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (cbrt.f64 y.re) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im y.re) 2) (cbrt.f64 (*.f64 x.im y.re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2))) (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im)))) (cbrt.f64 (*.f64 x.im (cbrt.f64 x.im))) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.im y.re))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im y.re) 2) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)))) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 x.re y.im)) (*.f64 x.im y.re))
(fma.f64 (*.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im))) 2) (*.f64 x.im y.re))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 x.im y.re) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 x.im y.re) 2) 2))) (*.f64 x.re y.im))
(if (!=.f64 (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.im y.re) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 x.im y.re))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))))
(*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (*.f64 x.im y.re))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (*.f64 x.re y.im))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2))
(*.f64 1 (fma.f64 x.re y.im (*.f64 x.im y.re)))
(*.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))) (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))))
(/.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(pow.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) 3)
(pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3))
Outputs
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 x.re y.im (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 x.im y.re (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 y.im x.re (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 x.im y.re)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 y.re)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 y.re)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) (cbrt.f64 (*.f64 y.re y.re))) x.im) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 y.re (cbrt.f64 x.im)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 y.im)) (cbrt.f64 y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re (cbrt.f64 y.im)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 x.re (cbrt.f64 (*.f64 y.im y.im))) (cbrt.f64 y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.im (cbrt.f64 x.re)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 y.im) (*.f64 x.re (cbrt.f64 (*.f64 y.im y.im))) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 x.re)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.re x.re))) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (cbrt.f64 x.re) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 x.im y.re) 1 (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 1 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 1 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 x.re y.im) 1 (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (cbrt.f64 x.im) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) 2) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im y.re) 2) (cbrt.f64 (*.f64 x.im y.re)))) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 x.im)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x.im x.im)) y.re) (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im)))) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.im (cbrt.f64 y.re)) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (cbrt.f64 y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im y.re) 2) (cbrt.f64 (*.f64 x.im y.re)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2))) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im)))) (cbrt.f64 (*.f64 x.im (cbrt.f64 x.im))) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.im y.re))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im y.re) 2) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)))) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 x.re y.im)) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im))) 2) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 x.im y.re) (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 x.im y.re) 2) 2))) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im (*.f64 y.re (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 y.re x.im) 2) 2))) (*.f64 x.re y.im))
(if (!=.f64 (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 y.re x.im) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 y.re x.im)))
(if (!=.f64 (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 (*.f64 y.re x.im) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 y.re x.im) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 y.re x.im)))
(if (!=.f64 (*.f64 x.im y.re) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 y.re x.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 y.re x.im) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 y.re x.im)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 x.im y.re) 3)) (fma.f64 (*.f64 x.im y.re) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 y.re x.im) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im))) (pow.f64 (*.f64 x.re y.im) 2))) (fma.f64 x.re y.im (*.f64 y.re x.im)))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 x.im y.re))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.im y.re) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 x.im y.re)))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 y.re x.im) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 y.re x.im (neg.f64 (*.f64 x.re y.im)))) (fma.f64 x.re y.im (*.f64 y.re x.im)))
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(+.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (*.f64 x.im y.re))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.im y.re) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))))) (+.f64 (cbrt.f64 (*.f64 x.im y.re)) (cbrt.f64 (*.f64 x.re y.im))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 1 (fma.f64 x.re y.im (*.f64 x.im y.re)))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) 2))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2)))) (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)))) 2) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 2) (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))))))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(/.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(fma.f64 x.re y.im (*.f64 y.re x.im))
(pow.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3) 1/3)
(fma.f64 x.re y.im (*.f64 y.re x.im))
(pow.f64 (cbrt.f64 (fma.f64 x.re y.im (*.f64 x.im y.re))) 3)
(fma.f64 x.re y.im (*.f64 y.re x.im))
(pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 1)
(fma.f64 x.re y.im (*.f64 y.re x.im))
(cbrt.f64 (pow.f64 (fma.f64 x.re y.im (*.f64 x.im y.re)) 3))
(fma.f64 x.re y.im (*.f64 y.re x.im))

eval44.0ms (1.5%)

Compiler

Compiled 2068 to 530 computations (74.4% saved)

prune28.0ms (0.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1183121
Fresh000
Picked011
Done011
Total1185123
Error
0b
Counts
123 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(fma.f64 y.re x.im (*.f64 x.re y.im))
0.0b
(fma.f64 x.re y.im (*.f64 x.im y.re))
0.0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
29.7b
(*.f64 y.re x.im)
32.8b
(*.f64 x.re y.im)
Compiler

Compiled 45 to 29 computations (35.6% saved)

localize7.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize7.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize11.0ms (0.4%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 6 computations (64.7% saved)

series9.0ms (0.3%)

Counts
1 → 48
Calls

12 calls:

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

Compiled 1465 to 45 computations (96.9% saved)

rewrite124.0ms (4.1%)

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

simplify214.0ms (7.1%)

Algorithm
egglog
Counts
112 → 72
Calls
Call 1
Inputs
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 y.im x.re (*.f64 y.re x.im))
(fma.f64 x.im y.re (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 x.re y.im)) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (*.f64 y.re x.im))
(fma.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re x.im))
(fma.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 y.im)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im))) (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re)) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.im (cbrt.f64 x.re)) (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 x.im)) (cbrt.f64 x.im) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 y.re (cbrt.f64 x.im)) (*.f64 x.re y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.im (cbrt.f64 y.re)) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 x.im) (*.f64 y.re (cbrt.f64 (*.f64 x.im x.im))) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 y.re)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im)) (*.f64 x.re y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (cbrt.f64 y.re) (*.f64 x.re y.im))
(fma.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.re y.im))
(fma.f64 (*.f64 x.re y.im) 1 (*.f64 y.re x.im))
(fma.f64 1 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 1 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 (*.f64 y.re x.im) 1 (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 y.im) (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (*.f64 y.re x.im))
(fma.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 y.re x.im)) (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (*.f64 x.re y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (cbrt.f64 x.re) (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im))) 2) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re y.im) 2) (cbrt.f64 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 x.re)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (cbrt.f64 (cbrt.f64 (*.f64 x.re x.re)))) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re (cbrt.f64 y.im)) (*.f64 y.re x.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re) (cbrt.f64 y.im) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re y.im) 2) (cbrt.f64 (*.f64 x.re y.im)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2))) (*.f64 y.re x.im))
(fma.f64 (*.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (cbrt.f64 (*.f64 x.re x.re)))) (cbrt.f64 (*.f64 x.re (cbrt.f64 x.re))) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.re y.im))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re y.im) 2) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)))) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (cbrt.f64 (*.f64 y.re x.im)) (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im))) 2) (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 x.re y.im) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 x.re y.im) 2) 2))) (*.f64 y.re x.im))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.re y.im) 2) (pow.f64 (*.f64 y.re x.im) 2)) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im)))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (*.f64 y.re x.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.re y.im) 2) (pow.f64 (*.f64 y.re x.im) 2)) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im)))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) 2) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)))))
(*.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))) (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))) (+.f64 (cbrt.f64 (*.f64 y.re x.im)) (cbrt.f64 (*.f64 x.re y.im))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (cbrt.f64 (*.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))) (+.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (*.f64 y.re x.im))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2))
(*.f64 1 (fma.f64 y.re x.im (*.f64 x.re y.im)))
(*.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 1)
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) 2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)))) (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))))
(/.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 1)
(pow.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))) 3)
(pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 1)
(cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 3))
Outputs
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 y.re x.im)
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 x.re y.im)
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 x.re y.im (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 y.im x.re (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 x.im y.re (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 y.re) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 x.re y.im)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 y.im)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im))) (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 y.im (cbrt.f64 x.re)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 x.im)) (cbrt.f64 x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 y.re (cbrt.f64 x.im)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 y.re (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.im (cbrt.f64 y.re)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 x.im) (*.f64 y.re (cbrt.f64 (*.f64 x.im x.im))) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 y.re)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.re y.re))) (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.re y.re)) x.im) (cbrt.f64 y.re) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 x.im (cbrt.f64 y.re)) (cbrt.f64 (*.f64 y.re y.re)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 x.re y.im) 1 (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 1 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 1 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 y.re x.im) 1 (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 y.im) (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 x.re) (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (*.f64 y.im y.im)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 y.re x.im)) (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (cbrt.f64 x.re) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 x.re (cbrt.f64 y.im)) (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 y.im y.im))) 2) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re y.im) 2) (cbrt.f64 (*.f64 x.re y.im)))) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (cbrt.f64 x.re)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.re)) y.im) (cbrt.f64 (cbrt.f64 (*.f64 x.re x.re)))) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 y.im y.im)) (*.f64 x.re (cbrt.f64 y.im)) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 y.im y.im)) x.re) (cbrt.f64 y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re y.im) 2) (cbrt.f64 (*.f64 x.re y.im)))) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2))) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 y.im (cbrt.f64 x.re)) (cbrt.f64 (cbrt.f64 (*.f64 x.re x.re)))) (cbrt.f64 (*.f64 x.re (cbrt.f64 x.re))) (*.f64 y.re x.im))
(fma.f64 (*.f64 y.im (cbrt.f64 (*.f64 x.re (cbrt.f64 (*.f64 x.re x.re))))) (cbrt.f64 (*.f64 x.re (cbrt.f64 x.re))) (*.f64 y.re x.im))
(fma.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.re y.im))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re y.im) 2) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)))) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (cbrt.f64 (*.f64 y.re x.im)) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (*.f64 (*.f64 y.re (cbrt.f64 x.im)) (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x.im x.im))) 2) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 x.re y.im) (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 x.re y.im) 2) 2))) (*.f64 y.re x.im))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.re y.im) 2) (pow.f64 (*.f64 y.re x.im) 2)) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im)))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 y.re x.im) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 y.re x.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (*.f64 x.re y.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 y.re x.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (*.f64 y.re x.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 y.re x.im) 3) (pow.f64 (*.f64 x.re y.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (*.f64 y.re x.im) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x.re y.im) 3) (pow.f64 (*.f64 y.re x.im) 3)) (fma.f64 (*.f64 x.re y.im) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im))) (pow.f64 (*.f64 y.re x.im) 2))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x.re y.im) 2) (pow.f64 (*.f64 y.re x.im) 2)) (fma.f64 y.im x.re (neg.f64 (*.f64 y.re x.im)))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(if (!=.f64 (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 y.re x.im) 2) (pow.f64 (*.f64 x.re y.im) 2)) (fma.f64 x.im y.re (neg.f64 (*.f64 x.re y.im)))) (fma.f64 y.re x.im (*.f64 x.re y.im)))
(+.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(+.f64 (*.f64 x.re y.im) (*.f64 y.re x.im))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) 2) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))) (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (cbrt.f64 (*.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))) (+.f64 (cbrt.f64 (*.f64 y.re x.im)) (cbrt.f64 (*.f64 x.re y.im))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x.re y.im) 2)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 y.re x.im) 2)) (cbrt.f64 (*.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))) (+.f64 (cbrt.f64 (*.f64 x.re y.im)) (cbrt.f64 (*.f64 y.re x.im))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 1 (fma.f64 y.re x.im (*.f64 x.re y.im)))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 1)
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) 2))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2)))) (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)))) 2) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 2) (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))))))
(fma.f64 y.re x.im (*.f64 x.re y.im))
(/.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 1)
(fma.f64 y.re x.im (*.f64 x.re y.im))
(pow.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 3) 1/3)
(fma.f64 y.re x.im (*.f64 x.re y.im))
(pow.f64 (cbrt.f64 (fma.f64 y.re x.im (*.f64 x.re y.im))) 3)
(fma.f64 y.re x.im (*.f64 x.re y.im))
(pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 1)
(fma.f64 y.re x.im (*.f64 x.re y.im))
(cbrt.f64 (pow.f64 (fma.f64 y.re x.im (*.f64 x.re y.im)) 3))
(fma.f64 y.re x.im (*.f64 x.re y.im))

eval30.0ms (1%)

Compiler

Compiled 1334 to 364 computations (72.7% saved)

prune24.0ms (0.8%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New72072
Fresh000
Picked011
Done044
Total72577
Error
0b
Counts
77 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(fma.f64 y.re x.im (*.f64 x.re y.im))
0.0b
(fma.f64 x.re y.im (*.f64 x.im y.re))
0.0b
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
29.7b
(*.f64 y.re x.im)
32.8b
(*.f64 x.re y.im)
Compiler

Compiled 45 to 29 computations (35.6% saved)

regimes79.0ms (2.6%)

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

7 calls:

22.0ms
x.re
11.0ms
(*.f64 x.im y.re)
10.0ms
(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
10.0ms
y.re
8.0ms
x.im
Results
ErrorSegmentsBranch
0.0b1x.re
0.0b1x.im
0.0b1y.re
0.0b1y.im
0.0b1(+.f64 (*.f64 x.re y.im) (*.f64 x.im y.re))
0.0b1(*.f64 x.re y.im)
0.0b1(*.f64 x.im y.re)
Compiler

Compiled 74 to 43 computations (41.9% saved)

regimes52.0ms (1.7%)

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

7 calls:

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

Compiled 62 to 41 computations (33.9% saved)

regimes80.0ms (2.7%)

Accuracy

Total -47.1b remaining (-335.3%)

Threshold costs -47.1b (-335.3%)

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

5 calls:

22.0ms
y.im
17.0ms
x.im
15.0ms
x.re
15.0ms
y.re
10.0ms
(*.f64 x.re y.im)
Results
ErrorSegmentsBranch
18.7b5x.re
19.2b5x.im
18.0b5y.re
17.5b7y.im
14.1b3(*.f64 x.re y.im)
Compiler

Compiled 37 to 27 computations (27% saved)

bsearch36.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
3.074992492112229e-77
3.463279177572913e-54
17.0ms
-1.28429695817255e-91
-1.9768886533588194e-102
Results
32.0ms336×body256valid
Compiler

Compiled 312 to 244 computations (21.8% saved)

simplify1.0ms (0%)

Stop Event
done
Compiler

Compiled 53 to 30 computations (43.4% saved)

soundness0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

end27.0ms (0.9%)

Compiler

Compiled 41 to 15 computations (63.4% saved)

Profiling

Loading profile data...