Details

Time bar (total: 10.1s)

analyze126.0ms (1.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
25%25%74.9%0.1%0%0%0%6
33.3%31.2%62.4%0.1%6.2%0%0%7
37.9%34.3%56.2%0.1%9.4%0%0%8
55.8%45.3%35.9%0.1%18.7%0%0%9
58.8%46.8%32.8%0.1%20.3%0%0%10
71.4%48.8%19.5%0.1%31.6%0%0%11
73.9%49.8%17.6%0.1%32.6%0%0%12
Compiler

Compiled 22 to 12 computations (45.5% saved)

sample1.7s (16.9%)

Results
1.5s8256×body256valid
228.0ms1745×body256infinite
Bogosity

preprocess191.0ms (1.9%)

Algorithm
egg-herbie
Rules
780×unsub-neg_binary64
544×fma-def_binary64
526×sub-neg_binary64
352×fma-neg_binary64
303×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01748
14946
211346
327832
479832
5259232
6530932
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.re x.im)) x.im))
Outputs
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(fma.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im (*.f64 x.re (fma.f64 x.re x.im (*.f64 x.re x.im))))
(fma.f64 x.re (*.f64 x.re (+.f64 x.im x.im)) (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(+.f64 (*.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re) (*.f64 (+.f64 (*.f64 x.im x.re) (*.f64 x.re x.im)) x.im))
(fma.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) x.re (*.f64 x.im (fma.f64 x.re x.im (*.f64 x.re x.im))))
(fma.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re (+.f64 x.im x.im))))
(fma.f64 x.re (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (*.f64 x.re (*.f64 (+.f64 x.im x.im) x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.im))) (pow.f64 x.re 3))
(fma.f64 (*.f64 x.im x.im) (*.f64 3 x.re) (neg.f64 (pow.f64 x.re 3)))
(fma.f64 (*.f64 x.im x.im) (*.f64 x.re 3) (neg.f64 (pow.f64 x.re 3)))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im 3))) (pow.f64 x.re 3))
Compiler

Compiled 23 to 13 computations (43.5% saved)

simplify64.0ms (0.6%)

Algorithm
egg-herbie
Rules
578×fma-neg_binary64
486×sub-neg_binary64
453×unsub-neg_binary64
348×distribute-rgt-in_binary64
287×distribute-lft-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01224
12723
26323
315016
442016
5118916
6213916
7551716
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Outputs
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(fma.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im (*.f64 x.re (fma.f64 x.re x.im (*.f64 x.re x.im))))
(fma.f64 x.re (*.f64 x.re (+.f64 x.im x.im)) (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))

eval1.0ms (0%)

Compiler

Compiled 32 to 18 computations (43.8% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
7.5b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
7.6b
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
7.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Compiler

Compiled 34 to 20 computations (41.2% saved)

localize39.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
0.1b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
0.1b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
7.2b
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)
Compiler

Compiled 67 to 11 computations (83.6% saved)

series14.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite121.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
835×fma-def_binary64
636×log-prod_binary64
359×fma-neg_binary64
218×pow1/3_binary64
216×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify116.0ms (1.1%)

Algorithm
egg-herbie
Rules
595×associate-*l*_binary64
575×distribute-rgt-neg-in_binary64
474×distribute-lft-neg-in_binary64
469×fma-def_binary64
412×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0301077
1921059
22501059
38651059
439521059
574431059
Stop Event
node limit
Counts
401 → 326
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(pow.f64 x.re 2)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(pow.f64 x.re 2)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(pow.f64 x.re 2)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
Outputs
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 2)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(pow.f64 x.re 2)
(*.f64 x.re x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(pow.f64 x.re 2)
(*.f64 x.re x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(pow.f64 x.re 2)
(*.f64 x.re x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.re x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))

localize66.0ms (0.7%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
0.2b
(*.f64 x.re (*.f64 x.re 3))
7.7b
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
Compiler

Compiled 34 to 21 computations (38.2% saved)

series7.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite143.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
429×prod-exp_binary64
367×pow-prod-down_binary64
363×exp-prod_binary64
325×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
120233
2260233
Stop Event
node limit
Counts
3 → 195
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re 3))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 (*.f64 x.re x.re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 (*.f64 x.re x.re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))) 2)) (cbrt.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))) (sqrt.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.im) 1) (log.f64 (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 x.im) (*.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.im) 1) (*.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x.re 3)) 1) (log.f64 (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) 1) (log.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) (*.f64 (log.f64 x.im) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) 1) (*.f64 (log.f64 x.im) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 x.im x.re)) (*.f64 (log.f64 (*.f64 x.re 3)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re 3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 3 (*.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 x.re x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x.re 4) 9) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (sqrt.f64 3)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (sqrt.f64 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re)))) 2)) (cbrt.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))))) (sqrt.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x.re 4) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 3)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x.re (sqrt.f64 3)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.re (sqrt.f64 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 3 (*.f64 x.re x.re))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.re) 1) (log.f64 (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 x.re) (*.f64 (log.f64 (*.f64 x.re 3)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.re) 1) (*.f64 (log.f64 (*.f64 x.re 3)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x.re 3)) 1) (log.f64 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 x.re 3)) (*.f64 (log.f64 x.re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x.re 3)) 1) (*.f64 (log.f64 x.re) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2) (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9)) (/.f64 1 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6))) (/.f64 1 (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3)) (pow.f64 x.im 3/2)) (-.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (pow.f64 x.im 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6))) (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3)) (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9)) (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6))) (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9))) (neg.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6)))) (neg.f64 (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 (neg.f64 (pow.f64 x.im 3)) 3)) (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (-.f64 (pow.f64 (neg.f64 (pow.f64 x.im 3)) 2) (*.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9)) (pow.f64 (neg.f64 (pow.f64 x.im 3)) 2)) (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6))) (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3)) (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))) 2)) (cbrt.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))) (sqrt.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.im) (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))) (exp.f64 (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 (*.f64 x.re x.re))) (+.f64 1 (expm1.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))) (+.f64 1 (expm1.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))) (exp.f64 (neg.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (pow.f64 x.im 3))) (+.f64 1 (expm1.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (neg.f64 (*.f64 x.im x.im)) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 (*.f64 x.re 3) x.im) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 (*.f64 x.re 3) x.im) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 1 (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 1 (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 1 (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) 1 (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im x.im) (neg.f64 x.im) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.im) 2) (*.f64 (cbrt.f64 x.im) (*.f64 3 (*.f64 x.re x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2) (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) 2) (cbrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (*.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) x.im) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (*.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) x.im) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) (cbrt.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) (cbrt.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) (*.f64 3 (*.f64 x.re x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (sqrt.f64 (-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 (*.f64 x.re (sqrt.f64 3)) x.im) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 (*.f64 x.re (sqrt.f64 3)) x.im) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9)) (/.f64 1 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6)))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 3) (pow.f64 x.im 9)) (/.f64 1 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (fma.f64 (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 4) (pow.f64 x.im 6)))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6))) (/.f64 1 (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (*.f64 x.im x.im) (*.f64 (pow.f64 x.re 4) 9) (neg.f64 (pow.f64 x.im 6))) (/.f64 1 (fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (pow.f64 x.im 3))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x.im 3/2) (neg.f64 (pow.f64 x.im 3/2)) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im x.re) (*.f64 x.re 3) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im x.re) (*.f64 x.re 3) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (pow.f64 x.im 3))) 2) (cbrt.f64 (neg.f64 (pow.f64 x.im 3))) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (pow.f64 x.im 3))) (sqrt.f64 (neg.f64 (pow.f64 x.im 3))) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 x.im x.im)) x.im (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x.im) (*.f64 x.im x.im) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 x.im 3/2)) (pow.f64 x.im 3/2) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 x.im 3) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3)) (pow.f64 x.im 3/2)) (-.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (pow.f64 x.im 3/2)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3)) (pow.f64 x.im 3/2)) (-.f64 (*.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 3))) (pow.f64 x.im 3/2)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 x.re 3)) x.re (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 x.re 3)) x.re (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 x.re x.re)) 3 (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 x.re x.re)) 3 (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 x.re (sqrt.f64 3))) (*.f64 x.re (sqrt.f64 3)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 x.re (sqrt.f64 3))) (*.f64 x.re (sqrt.f64 3)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (*.f64 x.re (sqrt.f64 3)) (cbrt.f64 x.im)) 2) (cbrt.f64 x.im) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (*.f64 x.re (sqrt.f64 3)) (cbrt.f64 x.im)) 2) (cbrt.f64 x.im) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 (*.f64 x.re x.re)) (sqrt.f64 x.im)) (sqrt.f64 x.im) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 (*.f64 x.re x.re)) (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) x.re) 3 (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) x.re) 3 (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) 3) x.re (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) 3) x.re (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) 1) (*.f64 x.re 3) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) 1) (*.f64 x.re 3) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (cbrt.f64 (*.f64 (*.f64 x.re x.re) 9))) (cbrt.f64 (*.f64 x.re 3)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (cbrt.f64 (*.f64 (*.f64 x.re x.re) 9))) (cbrt.f64 (*.f64 x.re 3)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 x.re 3))) (sqrt.f64 (*.f64 x.re 3)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 x.re 3))) (sqrt.f64 (*.f64 x.re 3)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))))

simplify145.0ms (1.4%)

Algorithm
egg-herbie
Rules
795×fma-neg_binary64
450×unswap-sqr_binary64
423×distribute-rgt-neg-in_binary64
419×neg-sub0_binary64
417×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014660
134660
286660
3202660
4530660
51885660
63975660
75532660
87302660
Stop Event
node limit
Counts
255 → 204
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))

eval306.0ms (3%)

Compiler

Compiled 12588 to 4508 computations (64.2% saved)

prune230.0ms (2.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New51911530
Fresh000
Picked011
Done101
Total52012532
Error
0.0b
Counts
532 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
0.2b
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))
16.8b
(fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))
20.7b
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
0.2b
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
0.2b
(fma.f64 (*.f64 (*.f64 x.im x.re) 3) x.re (neg.f64 (pow.f64 x.im 3)))
0.2b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
7.7b
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
7.6b
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
27.4b
(pow.f64 (neg.f64 x.im) 3)
7.7b
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
Compiler

Compiled 333 to 215 computations (35.4% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
0.2b
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
0.2b
(*.f64 x.im (*.f64 3 x.re))
Compiler

Compiled 34 to 21 computations (38.2% saved)

series8.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite227.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
530×log-prod_binary64
440×prod-exp_binary64
375×exp-prod_binary64
372×pow-prod-down_binary64
302×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
120333
2263133
Stop Event
node limit
Counts
3 → 190
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 3 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 x.re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 x.re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x.im (*.f64 3 x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.im (*.f64 3 x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (*.f64 3 x.re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (*.f64 3 x.re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 x.im (*.f64 3 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re)))) 2)) (cbrt.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))))) (sqrt.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.im (*.f64 3 x.re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.im) (*.f64 3 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (*.f64 3 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.im (*.f64 3 x.re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.im (*.f64 3 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.im (*.f64 3 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x.im (*.f64 3 x.re)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x.im (*.f64 3 x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.im) 1) (log.f64 (*.f64 3 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 x.im) (*.f64 (log.f64 (*.f64 3 x.re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.im) 1) (*.f64 (log.f64 (*.f64 3 x.re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.re) 1) (log.f64 (*.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 3 x.re)) 1) (log.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 3 x.re)) (*.f64 (log.f64 x.im) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 3 x.re)) 1) (*.f64 (log.f64 x.im) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 x.im 3)) (*.f64 (log.f64 x.re) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) (*.f64 x.re x.re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) (*.f64 x.re x.re)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.re) 1) (log.f64 (*.f64 x.im (*.f64 3 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 x.re) (*.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 x.re) 1) (*.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 3 x.re)) 1) (log.f64 (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) 1) (log.f64 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) (*.f64 (log.f64 x.re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 x.im (*.f64 3 x.re))) 1) (*.f64 (log.f64 x.re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 x.im x.re)) (*.f64 (log.f64 (*.f64 3 x.re)) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2) (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9)) (/.f64 1 (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (pow.f64 x.im 3/2)) (-.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (pow.f64 x.im 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)) (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9)) (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6)) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9))) (neg.f64 (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6))) (neg.f64 (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 (neg.f64 (pow.f64 x.im 3)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (-.f64 (pow.f64 (neg.f64 (pow.f64 x.im 3)) 2) (*.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (neg.f64 (pow.f64 x.im 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 (neg.f64 (pow.f64 x.im 3)) 2)) (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (neg.f64 (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)) (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))) 2)) (cbrt.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))) (sqrt.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) (exp.f64 (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) (*.f64 x.re x.re)) (+.f64 1 (expm1.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) (+.f64 1 (expm1.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))) (exp.f64 (neg.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (neg.f64 (pow.f64 x.im 3))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (neg.f64 (*.f64 x.im x.im)) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 (*.f64 3 x.re) x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 (*.f64 3 x.re) x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 x.im (*.f64 3 x.re)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 x.im (*.f64 3 x.re)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 3 x.re)) x.re (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 3 x.re)) x.re (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 1 (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 1 (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 1 (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) 1 (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (pow.f64 x.im 3)) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im x.im) (neg.f64 x.im) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2) (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) 2) (cbrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) 2) (*.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) 2) (*.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)) (cbrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2)) (cbrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 3 x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re x.re)) (*.f64 (cbrt.f64 x.re) (*.f64 x.im (*.f64 3 x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (sqrt.f64 (-.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) (pow.f64 x.im 3))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) (*.f64 (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) (*.f64 (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.im (*.f64 3 x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.im (*.f64 3 x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9)) (/.f64 1 (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 3) (pow.f64 x.im 9)) (/.f64 1 (fma.f64 (pow.f64 x.im 3) (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3)) (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3))) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)) 2) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (*.f64 3 x.re) (*.f64 x.im x.re) (pow.f64 x.im 3))) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x.im 3/2) (neg.f64 (pow.f64 x.im 3/2)) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im 3) (*.f64 x.re x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im 3) (*.f64 x.re x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im x.re) (*.f64 3 x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im x.re) (*.f64 3 x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (pow.f64 x.im 3))) 2) (cbrt.f64 (neg.f64 (pow.f64 x.im 3))) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (pow.f64 x.im 3))) (sqrt.f64 (neg.f64 (pow.f64 x.im 3))) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 x.im x.im)) x.im (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x.im) (*.f64 x.im x.im) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 x.im 3/2)) (pow.f64 x.im 3/2) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 x.im 3) (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (pow.f64 x.im 3/2)) (-.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (pow.f64 x.im 3/2)) (fma.f64 (neg.f64 (pow.f64 x.im 3)) 1 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (pow.f64 x.im 3/2)) (-.f64 (sqrt.f64 (*.f64 (*.f64 3 x.re) (*.f64 x.im x.re))) (pow.f64 x.im 3/2)) (+.f64 (neg.f64 (pow.f64 x.im 3)) (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (*.f64 3 x.re)) x.im (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (*.f64 3 x.re)) x.im (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) 2)) (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) 2)) (cbrt.f64 (*.f64 x.im (*.f64 3 x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 (*.f64 x.im (*.f64 3 x.re)))) (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 (*.f64 x.im (*.f64 3 x.re)))) (sqrt.f64 (*.f64 x.im (*.f64 3 x.re))) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im (*.f64 3 x.re)) (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im (*.f64 3 x.re)) (cbrt.f64 (*.f64 x.re x.re))) (cbrt.f64 x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im (*.f64 3 x.re)) (sqrt.f64 x.re)) (sqrt.f64 x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im (*.f64 3 x.re)) (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) x.re) 3 (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) x.re) 3 (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) 1) (*.f64 3 x.re) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) 1) (*.f64 3 x.re) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (cbrt.f64 (*.f64 9 (*.f64 x.re x.re)))) (cbrt.f64 (*.f64 3 x.re)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (cbrt.f64 (*.f64 9 (*.f64 x.re x.re)))) (cbrt.f64 (*.f64 3 x.re)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 3 x.re))) (sqrt.f64 (*.f64 3 x.re)) (neg.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.im x.re) (sqrt.f64 (*.f64 3 x.re))) (sqrt.f64 (*.f64 3 x.re)) (*.f64 (neg.f64 (pow.f64 x.im 3)) 1))))))

simplify253.0ms (2.5%)

Algorithm
egg-herbie
Rules
815×fma-neg_binary64
450×unswap-sqr_binary64
439×neg-sub0_binary64
437×neg-mul-1_binary64
436×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015744
139744
292744
3190744
4487744
51833744
63961744
75543744
87352744
Stop Event
node limit
Counts
262 → 199
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
Outputs
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 x.im (*.f64 x.re x.re)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 x.im 3))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
0.2b
(*.f64 x.re (*.f64 x.im 3))
Compiler

Compiled 20 to 12 computations (40% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
664×pow1_binary64
611×add-log-exp_binary64
611×log1p-expm1-u_binary64
611×expm1-log1p-u_binary64
598×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
114217
2167817
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(*.f64 x.re (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x.re (*.f64 x.im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (*.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (*.f64 x.im 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.im 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.re (*.f64 x.im 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.im 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 3) x.im) x.re))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.im 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 (*.f64 x.im 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im 3) 3) (pow.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (*.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (*.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (*.f64 x.im 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (sqrt.f64 (*.f64 x.im 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 x.re x.re)) (*.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 (*.f64 x.re (*.f64 x.im 3)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re (*.f64 x.im 3)) 3) (pow.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))))))

simplify319.0ms (3.1%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
642×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010408
123408
245408
384408
4245408
5820408
61059408
71473408
81573408
91708408
101880408
112125408
122440408
132810408
143269408
153852408
164558408
175420408
185850408
196168408
206472408
216552408
226588408
Stop Event
node limit
Counts
74 → 30
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
Outputs
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 (*.f64 3 x.re) x.im)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 x.re (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
0.1b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
0.2b
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(*.f64 (*.f64 x.re x.re) x.im)
Compiler

Compiled 49 to 9 computations (81.6% saved)

series7.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite97.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
510×fma-def_binary64
504×log-prod_binary64
364×pow-prod-down_binary64
246×pow2_binary64
243×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01033
122824
2296822
Stop Event
node limit
Counts
3 → 236
Calls
Call 1
Inputs
(*.f64 (*.f64 x.re x.re) x.im)
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x.re (*.f64 x.re x.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (*.f64 x.re x.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 x.re x.im) 3) (pow.f64 x.re 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (*.f64 x.re x.im)) (cbrt.f64 x.re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 x.re x.im)) (sqrt.f64 x.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.re (*.f64 x.re x.im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.re (sqrt.f64 x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x.re (*.f64 x.re x.im))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x.re (*.f64 x.re x.im))) 3) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0))) (/.f64 (/.f64 0 0) (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (+.f64 (/.f64 0 0) (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))) (cbrt.f64 (pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 2)) (cbrt.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (/.f64 0 0) (*.f64 x.re (sqrt.f64 x.im))) (hypot.f64 (/.f64 0 0) (*.f64 x.re (sqrt.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x.re 6) (pow.f64 x.im 3) (/.f64 0 0)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 x.re 4) (*.f64 x.im x.im) (/.f64 0 0)) (*.f64 x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (/.f64 0 0)) (/.f64 1 (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 x.re 4) (*.f64 x.im x.im) (/.f64 0 0)) (*.f64 x.im (/.f64 0 0))) (fma.f64 (pow.f64 x.re 6) (pow.f64 x.im 3) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0)) (-.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x.re 6) (pow.f64 x.im 3) (/.f64 0 0)) (-.f64 (fma.f64 (pow.f64 x.re 4) (*.f64 x.im x.im) (/.f64 0 0)) (*.f64 x.im (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x.re 6) (pow.f64 x.im 3) (/.f64 0 0)) (+.f64 (/.f64 0 0) (-.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (*.f64 x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (/.f64 0 0)) (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x.re 6) (pow.f64 x.im 3) (/.f64 0 0))) (neg.f64 (-.f64 (fma.f64 (pow.f64 x.re 4) (*.f64 x.im x.im) (/.f64 0 0)) (*.f64 x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (/.f64 0 0))) (neg.f64 (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 0 0) (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4)) (-.f64 (/.f64 0 0) (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (/.f64 0 0) (*.f64 x.re (sqrt.f64 x.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (pow.f64 x.re 4) (*.f64 x.im x.im) (/.f64 0 0)) (*.f64 x.im (/.f64 0 0))) (fma.f64 (pow.f64 x.re 6) (pow.f64 x.im 3) (/.f64 0 0))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0)) (-.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4) (/.f64 0 0))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im)))) (exp.f64 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)) (+.f64 1 (expm1.f64 (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im)))) (+.f64 1 (expm1.f64 (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 0 0))) (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 0 0)) (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 0 0))) (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (/.f64 0 0) (*.f64 x.re (sqrt.f64 x.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x.re (fma.f64 x.re x.im (/.f64 0 0)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 x.re x.im) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (/.f64 0 0) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) x.im (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 x.re x.re) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (*.f64 x.re x.im)) 1 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.im) x.re (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) x.re (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) (/.f64 0 0) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) 1 (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) (cbrt.f64 x.re) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) (sqrt.f64 x.re) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.re (*.f64 x.re x.im)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 0 0) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im))) (cbrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4)) (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im))) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (/.f64 0 0) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (*.f64 x.re x.im)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x.re) x.re) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) x.im) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) (*.f64 x.re x.re)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 x.im)) (*.f64 x.re (sqrt.f64 x.im)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (/.f64 0 0) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.re x.im)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) (*.f64 x.re x.re)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2)) (cbrt.f64 (*.f64 x.re x.im)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 (*.f64 x.re x.im))) (sqrt.f64 (*.f64 x.re x.im)) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x.re (cbrt.f64 x.im)) 2) (cbrt.f64 x.im) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.re x.re) (sqrt.f64 x.im)) (sqrt.f64 x.im) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 (cbrt.f64 x.re) x.re)) (pow.f64 (cbrt.f64 x.re) 2) (/.f64 0 0))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 0 0))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x.re x.im) 2) 0) (/.f64 (pow.f64 (*.f64 x.re x.im) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (+.f64 x.im x.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re x.re) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.im (+.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re x.im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) x.re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (*.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (pow.f64 x.re 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (cbrt.f64 x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (pow.f64 (cbrt.f64 x.re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 0 0) (sqrt.f64 x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x.re 3) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x.re) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x.re) 2) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x.re x.im)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2) (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2) (+.f64 (cbrt.f64 (*.f64 x.re x.im)) (cbrt.f64 (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x.re) (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x.re x.im)) (+.f64 (sqrt.f64 (*.f64 x.re x.im)) (sqrt.f64 (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 0 (/.f64 1 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0) (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3)) (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3)) 2) (pow.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) (cbrt.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) (sqrt.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 0 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) (*.f64 0 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3)) 0) (*.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3)) (/.f64 0 0)) (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 0 (/.f64 0 0)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3)) x.re) (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 0 x.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 0 0) (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re 0) 0)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 9/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 5/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 5)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 7/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 10/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 7/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 0 0) 5/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (*.f64 x.re x.im) 2) 0) (*.f64 2 (pow.f64 (*.f64 x.re x.im) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x.re 6) (/.f64 0 0)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 0 0) (pow.f64 x.re 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 0 0))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re x.im))) (pow.f64 (exp.f64 x.re) x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.re) x.im) (+.f64 1 (expm1.f64 (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re x.im))) (+.f64 1 (expm1.f64 (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im)))) (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)) (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im)))) (+.f64 1 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 0 0))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (*.f64 x.re (sqrt.f64 x.im)) (*.f64 x.re (sqrt.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 x.re x.im)) (sqrt.f64 (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 0 0)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 0 0)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re x.im (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 x.re x.im) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) x.im (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im x.re (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 x.re x.re) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (*.f64 x.re x.im)) 1 (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.im) x.re (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.im) (/.f64 0 0) (*.f64 (*.f64 x.re x.im) (/.f64 0 0)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.im) 1 (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 0 0) (*.f64 x.re x.im) (*.f64 (/.f64 0 0) (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.re x.im) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im))) (cbrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 4)) (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im))) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (cbrt.f64 x.re) x.im) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.re x.im)) (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2) (cbrt.f64 (*.f64 x.re x.im)) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x.re) x.re) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) x.im) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) (*.f64 x.re x.re)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) x.re) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 x.im)) (*.f64 x.re (sqrt.f64 x.im)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.re) (*.f64 (sqrt.f64 x.re) x.im) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.re x.im)) (sqrt.f64 (*.f64 x.re x.im)) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 x.re (sqrt.f64 x.im)) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) (*.f64 x.re x.re)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (pow.f64 (cbrt.f64 (*.f64 x.re x.im)) 2)) (cbrt.f64 (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 (*.f64 x.re x.im))) (sqrt.f64 (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 x.re (cbrt.f64 x.im)) 2) (cbrt.f64 x.im) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x.re x.re) (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (*.f64 (cbrt.f64 x.re) x.re)) (pow.f64 (cbrt.f64 x.re) 2) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.re x.im))))))

simplify108.0ms (1.1%)

Algorithm
egg-herbie
Rules
771×fma-neg_binary64
694×unswap-sqr_binary64
564×unsub-neg_binary64
404×distribute-rgt-neg-in_binary64
375×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023576
162576
2162576
3487576
41661576
53585576
65728576
77014576
Stop Event
node limit
Counts
308 → 244
Calls
Call 1
Inputs
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 2 (*.f64 x.re x.im))
Outputs
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))
(*.f64 2 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 2 x.im))

localize41.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 x.re x.im) x.im)
0.1b
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
0.1b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
0.2b
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
Compiler

Compiled 79 to 16 computations (79.7% saved)

series9.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite178.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
687×log-prod_binary64
402×fma-neg_binary64
233×pow1/3_binary64
229×expm1-udef_binary64
229×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify218.0ms (2.2%)

Algorithm
egg-herbie
Rules
643×associate-*l*_binary64
582×distribute-rgt-neg-in_binary64
582×fma-def_binary64
483×distribute-lft-neg-in_binary64
454×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
052990
1167732
2543678
31315678
44915678
Stop Event
node limit
Counts
207 → 166
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
Outputs
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(*.f64 x.re (*.f64 x.im x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(*.f64 x.im (*.f64 x.re x.re))
(*.f64 x.re (*.f64 x.im x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(*.f64 x.re (*.f64 x.im x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(*.f64 x.im (*.f64 x.re x.re))
(*.f64 x.re (*.f64 x.im x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(*.f64 x.re (*.f64 x.im x.re))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 x.im (*.f64 x.re x.re))
(*.f64 x.re (*.f64 x.im x.re))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 x.re x.re) x.im (fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.re (*.f64 x.im x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.im x.re)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.im x.re)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.im x.re)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.im x.re)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.im x.re)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.im x.re)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 (*.f64 x.im x.im)) x.re (fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 x.re (*.f64 3 x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re (*.f64 3 (*.f64 x.im x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(fma.f64 -1 (*.f64 x.im x.im) (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 x.im x.im))
(*.f64 x.im (-.f64 x.re x.im))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
7.2b
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
Compiler

Compiled 34 to 11 computations (67.6% saved)

series9.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
4.0ms
x.re
@0
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
1.0ms
x.im
@0
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
1.0ms
x.im
@inf
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
1.0ms
x.re
@0
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
1.0ms
x.re
@inf
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))

rewrite127.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
714×pow1_binary64
657×add-log-exp_binary64
656×log1p-expm1-u_binary64
656×expm1-log1p-u_binary64
643×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify135.0ms (1.3%)

Algorithm
egg-herbie
Rules
792×fma-def_binary64
671×unswap-sqr_binary64
485×distribute-rgt-neg-in_binary64
429×distribute-lft-neg-in_binary64
324×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018609
145609
2103609
3268609
41011609
52568609
65398609
76429609
87283609
97882609
Stop Event
node limit
Counts
85 → 50
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 3 x.im))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))

eval322.0ms (3.2%)

Compiler

Compiled 14126 to 6675 computations (52.7% saved)

prune148.0ms (1.5%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New7338741
Fresh246
Picked011
Done325
Total73815753
Error
0b
Counts
753 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
20.5b
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (cbrt.f64 (pow.f64 (*.f64 x.im (-.f64 x.re x.im)) 3)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
27.5b
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
20.8b
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
16.8b
(fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))
20.7b
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
20.7b
(+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
28.2b
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
28.2b
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
16.8b
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
20.8b
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
7.6b
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
27.4b
(pow.f64 (neg.f64 x.im) 3)
7.7b
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
Compiler

Compiled 401 to 247 computations (38.4% saved)

localize53.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
0.2b
(*.f64 3 (*.f64 x.re x.re))
7.2b
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0%)

Counts
3 → 60
Calls

15 calls:

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

rewrite127.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
837×prod-diff_binary64
474×log-prod_binary64
421×fma-def_binary64
331×pow-prod-down_binary64
248×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
119836
2262736
Stop Event
node limit
Counts
3 → 257
Calls
Call 1
Inputs
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(*.f64 3 (*.f64 x.re x.re))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 (*.f64 x.re x.re)) x.im) (*.f64 (*.f64 x.im (neg.f64 x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) x.im) (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) x.im) (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6))) (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4))) (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) x.im (*.f64 (*.f64 x.im (neg.f64 x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) x.im (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) x.im (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 1 (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 1 (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (*.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) x.im) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (*.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) x.im) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (pow.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (pow.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2) (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2) (cbrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x.im x.im)) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) x.im) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) x.im) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x.im) (*.f64 (sqrt.f64 x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2)) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2)) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.im (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 x.re) x.re) 2)) (*.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (*.f64 x.re x.re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 3 (*.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 x.re x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x.re 4) 9) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (sqrt.f64 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 x.re 6) 27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x.re 4) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3) (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.re 6) 27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 x.re) (log.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 x.re) (log.f64 3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x.re x.re)) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 (neg.f64 (pow.f64 x.im 3/2)) (sqrt.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 (neg.f64 (sqrt.f64 x.im)) (pow.f64 x.im 3/2) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (neg.f64 x.im)) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x.re (*.f64 3 x.re) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x.re x.re) 3 (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 3 (*.f64 x.re x.re)) 1 (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 3 (*.f64 x.re x.re)) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 x.re 4)) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) 3) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 x.re (sqrt.f64 3)) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 3 x.re) x.re (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 3 (cbrt.f64 (pow.f64 x.re 4))) (pow.f64 (cbrt.f64 x.re) 2) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 3 x.re) 1) x.re (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 3 x.re) (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 3 x.re) (sqrt.f64 x.re)) (sqrt.f64 x.re) (neg.f64 (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5)))) (fma.f64 (neg.f64 (cbrt.f64 x.im)) (pow.f64 (cbrt.f64 x.im) 5) (*.f64 (cbrt.f64 x.im) (pow.f64 (cbrt.f64 x.im) 5))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (/.f64 1 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x.re (sqrt.f64 3) x.im) (fma.f64 x.re (sqrt.f64 3) (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4))) (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im)) (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6))) (neg.f64 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4))) (neg.f64 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x.re 6) 27 (pow.f64 (*.f64 x.im (neg.f64 x.im)) 3)) (fma.f64 (pow.f64 x.re 4) 9 (-.f64 (pow.f64 (*.f64 x.im (neg.f64 x.im)) 2) (*.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im (neg.f64 x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 3) (pow.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 3)) (+.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 2) (-.f64 (pow.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 2) (*.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 (*.f64 x.im (neg.f64 x.im)) 2)) (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 2) (pow.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 2)) (-.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4))) (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im)) (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re)))) (pow.f64 (exp.f64 x.im) x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 3) (*.f64 x.re x.re)) (+.f64 1 (expm1.f64 (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re)))) (+.f64 1 (expm1.f64 (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re)))) (exp.f64 (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re)))) (pow.f64 (exp.f64 x.im) (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))) (exp.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x.im (neg.f64 x.im))) (pow.f64 (exp.f64 3) (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x.im (neg.f64 x.im))) (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x.im) (neg.f64 x.im)) (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))) (exp.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))) (+.f64 1 (expm1.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.im (neg.f64 x.im) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x.re x.re) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x.re x.re) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x.re x.re) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 3 x.re) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 3 x.re) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x.re (*.f64 3 x.re) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) 3 (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) 3 (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) 3 (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re x.re) 3 (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) 1 (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) 1 (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) 1 (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x.re x.re)) 1 (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1 (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1 (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) 1 (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x.re x.re)) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x.re x.re)) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x.re x.re)) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x.im (neg.f64 x.im)) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) 2) (cbrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x.re 4)) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) 3) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x.re 4)) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) 3) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x.re 4)) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) 3) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x.re 4)) (*.f64 (pow.f64 (cbrt.f64 x.re) 2) 3) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9)) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x.im) x.im) (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (sqrt.f64 (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im)))) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 x.re (sqrt.f64 3)) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 x.re (sqrt.f64 3)) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 x.re (sqrt.f64 3)) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x.re (sqrt.f64 3)) (*.f64 x.re (sqrt.f64 3)) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x.im) x.im (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 6) 27) (pow.f64 x.im 6)) (/.f64 1 (fma.f64 (pow.f64 x.re 4) 9 (fma.f64 3 (pow.f64 (*.f64 x.re x.im) 2) (pow.f64 x.im 4)))) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (/.f64 1 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (/.f64 1 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (/.f64 1 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (/.f64 1 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x.re 4) 9) (pow.f64 x.im 4)) (/.f64 1 (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x.re) x.re (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x.re) x.re (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x.re) x.re (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x.re) x.re (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x.im (neg.f64 x.im))) 2) (cbrt.f64 (*.f64 x.im (neg.f64 x.im))) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))) 2) (cbrt.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x.im (neg.f64 x.im))) (sqrt.f64 (*.f64 x.im (neg.f64 x.im))) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 (sqrt.f64 (*.f64 x.im (neg.f64 x.im))) x.im) (hypot.f64 (sqrt.f64 (*.f64 x.im (neg.f64 x.im))) x.im) (fma.f64 x.re (*.f64 3 x.re) (*.f64 x.im (neg.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 x.im x.im) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (sqrt.f64 3) x.im) (fma.f64 x.re (sqrt.f64 3) (neg.f64 x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (sqrt.f64 3) x.im) (fma.f64 x.re (sqrt.f64 3) (neg.f64 x.im)) (fma.f64 (*.f64 x.im (neg.f64 x.im)) 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (sqrt.f64 3) x.im) (fma.f64 x.re (sqrt.f64 3) (neg.f64 x.im)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x.im x.im))) (*.f64 (cbrt.f64 x.im) x.im) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (sqrt.f64 3) x.im) (fma.f64 x.re (sqrt.f64 3) (neg.f64 x.im)) (*.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x.re (sqrt.f64 3) x.im) (fma.f64 x.re (sqrt.f64 3) (neg.f64 x.im)) (+.f64 (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 (cbrt.f64 x.im) x.im)) (cbrt.f64 (*.f64 x.im x.im)) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x.im) 1) x.im (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x.im) (cbrt.f64 (*.f64 x.im x.im))) (cbrt.f64 x.im) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.f64 x.im) (sqrt.f64 x.im)) (sqrt.f64 x.im) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (cbrt.f64 (pow.f64 x.re 4))) (pow.f64 (cbrt.f64 x.re) 2) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (cbrt.f64 (pow.f64 x.re 4))) (pow.f64 (cbrt.f64 x.re) 2) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (cbrt.f64 (pow.f64 x.re 4))) (pow.f64 (cbrt.f64 x.re) 2) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (cbrt.f64 (pow.f64 x.re 4))) (pow.f64 (cbrt.f64 x.re) 2) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) 1) x.re (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) 1) x.re (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) 1) x.re (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) 1) x.re (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (pow.f64 (cbrt.f64 x.re) 2)) (cbrt.f64 x.re) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (sqrt.f64 x.re)) (sqrt.f64 x.re) (*.f64 (*.f64 x.im (neg.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (sqrt.f64 x.re)) (sqrt.f64 x.re) (fma.f64 x.im (neg.f64 x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x.re) (sqrt.f64 x.re)) (sqrt.f64 x.re) (neg.f64 (-.f64 (*.f64 x.im x.im) (fma.f64 x.im (neg.f64 x.im) (*.f64 x.im x.im)))))))))

simplify151.0ms (1.5%)

Algorithm
egg-herbie
Rules
792×fma-def_binary64
671×unswap-sqr_binary64
485×distribute-rgt-neg-in_binary64
429×distribute-lft-neg-in_binary64
324×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018693
145693
2103693
3267693
41004693
52563693
65393693
76426693
87277693
97871693
Stop Event
node limit
Counts
317 → 270
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 (*.f64 3 x.re) x.re)) (pow.f64 x.im 3))
(-.f64 (*.f64 3 (*.f64 (*.f64 x.re x.re) x.im)) (pow.f64 x.im 3))
(fma.f64 x.re (*.f64 x.re (*.f64 3 x.im)) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (pow.f64 x.im 3))
(neg.f64 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im -3) (pow.f64 x.im 3)))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 (*.f64 3 x.re) x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))
(fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series6.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
4.0ms
x.im
@inf
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
1.0ms
x.im
@0
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
0.0ms
x.im
@-inf
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))

rewrite50.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
329×pow1_binary64
317×add-sqr-sqrt_binary64
311×*-un-lft-identity_binary64
304×add-log-exp_binary64
303×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
059
11044
213714
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x.im 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x.im 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x.im 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x.im 6) (pow.f64 x.im 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 0 (pow.f64 x.im 3)) 3) (pow.f64 (+.f64 0 (fma.f64 x.im x.im (*.f64 0 x.im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x.im 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x.im 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x.im 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x.im 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.im x.im) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x.im) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x.im 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 x.im) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (*.f64 3 (log.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 3 (log.f64 x.im))) 2)) (cbrt.f64 (*.f64 3 (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 3 (log.f64 x.im)))) (sqrt.f64 (*.f64 3 (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 x.im 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x.im 6))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 x.im 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 x.im 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x.im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 x.im 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 x.im 3/2)) 2))))))

simplify91.0ms (0.9%)

Algorithm
egg-herbie
Rules
912×fma-def_binary64
685×fma-neg_binary64
600×distribute-lft-neg-in_binary64
583×distribute-rgt-neg-in_binary64
455×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0672
11672
24472
37372
414372
542472
6144772
7273072
8456072
9557172
10629272
11711772
Stop Event
node limit
Counts
40 → 29
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
Outputs
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
0.2b
(*.f64 3 (*.f64 x.re x.im))
Compiler

Compiled 20 to 9 computations (55% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x.re
@0
(*.f64 3 (*.f64 x.re x.im))
0.0ms
x.re
@inf
(*.f64 3 (*.f64 x.re x.im))
0.0ms
x.re
@0
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
0.0ms
x.im
@0
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
0.0ms
x.im
@inf
(*.f64 3 (*.f64 x.re x.im))

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
668×pow1_binary64
615×add-log-exp_binary64
615×log1p-expm1-u_binary64
615×expm1-log1p-u_binary64
603×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
114317
2171617
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 3 (*.f64 x.re x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 x.re x.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3 (*.f64 x.re x.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re x.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 3 (*.f64 x.re x.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 x.re x.im) 2) 9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x.im) x.re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3 (*.f64 x.re x.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (*.f64 x.re x.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 x.im) x.re) 3) x.re))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 (*.f64 3 (*.f64 x.re x.im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 3 (*.f64 x.re x.im)) 3) (pow.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (*.f64 (*.f64 x.re x.im) x.re))))))))

simplify175.0ms (1.7%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
640×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08240
117240
237240
383240
4223240
5736240
6997240
71411240
81511240
91646240
101818240
112061240
122374240
132744240
143202240
153791240
164499240
175361240
185787240
196103240
206411240
216489240
226523240
Stop Event
node limit
Counts
48 → 26
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))

localize16.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
7.7b
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
7.7b
(*.f64 (*.f64 x.re x.re) x.im)
Compiler

Compiled 41 to 19 computations (53.7% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite82.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
589×log-prod_binary64
453×fma-def_binary64
431×pow-prod-down_binary64
272×pow2_binary64
255×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
771×fma-neg_binary64
694×unswap-sqr_binary64
564×unsub-neg_binary64
394×distribute-rgt-neg-in_binary64
375×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022480
159480
2156480
3512480
41691480
53635480
65760480
77049480
Stop Event
node limit
Counts
156 → 115
Calls
Call 1
Inputs
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
Outputs
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
0.1b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
7.2b
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)
7.7b
(*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))
Compiler

Compiled 59 to 21 computations (64.4% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite103.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
817×fma-def_binary64
728×log-prod_binary64
321×fma-neg_binary64
242×pow1/3_binary64
239×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify99.0ms (1%)

Algorithm
egg-herbie
Rules
447×unsub-neg_binary64
402×fma-def_binary64
382×unswap-sqr_binary64
355×associate-*l*_binary64
280×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024336
175336
2236336
3777336
42659336
54491336
65658336
77256336
Stop Event
node limit
Counts
106 → 91
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
Outputs
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))

eval431.0ms (4.3%)

Compiler

Compiled 17699 to 6222 computations (64.8% saved)

prune169.0ms (1.7%)

Pruning

15 alts after pruning (8 fresh and 7 done)

PrunedKeptTotal
New8044808
Fresh347
Picked011
Done167
Total80815823
Error
0b
Counts
823 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
27.5b
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
20.8b
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
7.6b
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
20.8b
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
20.7b
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re))
27.4b
(pow.f64 (neg.f64 x.im) 3)
7.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
28.2b
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
20.7b
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
7.7b
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
28.2b
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
7.7b
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
16.8b
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(*.f64 x.im (-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im)))
20.7b
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
Compiler

Compiled 300 to 177 computations (41% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re)))
7.2b
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
Compiler

Compiled 44 to 8 computations (81.8% saved)

series91.0ms (0.9%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
86.0ms
x.re
@0
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re)))
1.0ms
x.im
@0
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
1.0ms
x.re
@inf
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
1.0ms
x.re
@-inf
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
1.0ms
x.re
@0
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))

rewrite76.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
445×log-prod_binary64
380×fma-def_binary64
346×pow-prod-down_binary64
328×exp-prod_binary64
240×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify90.0ms (0.9%)

Algorithm
egg-herbie
Rules
686×fma-neg_binary64
596×unsub-neg_binary64
561×cancel-sign-sub-inv_binary64
359×associate-*l*_binary64
358×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
061726
1209522
2680522
31100522
43158522
57487522
Stop Event
node limit
Counts
113 → 99
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3))))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im))) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2))))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2))))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re))))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(*.f64 -1 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))))
Outputs
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 (*.f64 x.re x.re) 3))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 (*.f64 x.re x.im) 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im))
(*.f64 x.im (*.f64 (*.f64 x.re x.re) 3))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 (*.f64 x.re x.im) 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2))) (+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(neg.f64 (pow.f64 x.im 3))
(pow.f64 (neg.f64 x.im) 3)
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 x.im (*.f64 (*.f64 x.re x.re) 3))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 (*.f64 x.re x.im) 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 x.im (*.f64 (*.f64 x.re x.re) 3))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 (*.f64 x.re x.im) 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 x.im (*.f64 (*.f64 x.re x.re) 3))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 (*.f64 x.re x.im) 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im))) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 x.im (*.f64 (*.f64 x.re x.re) 3))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 x.re (*.f64 (*.f64 x.re x.im) 3))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) (*.f64 x.re x.im))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))))
(fma.f64 (*.f64 0 x.re) (*.f64 x.im x.im) (fma.f64 3 (*.f64 (*.f64 x.re x.re) x.im) (neg.f64 (pow.f64 x.im 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (*.f64 -1 (pow.f64 x.im 2)))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) 3)
(*.f64 x.re (*.f64 x.re 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (*.f64 x.re x.re) 3)
(*.f64 x.re (*.f64 x.re 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) 3)
(*.f64 x.re (*.f64 x.re 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re)))
(*.f64 (*.f64 x.re x.re) 3)
(*.f64 x.re (*.f64 x.re 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 x.im) x.im) x.re))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2))
(*.f64 (*.f64 x.re x.re) 3)
(*.f64 x.re (*.f64 x.re 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)))
(*.f64 (*.f64 x.re x.re) 3)
(*.f64 x.re (*.f64 x.re 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (+.f64 (pow.f64 x.re 2) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)) (*.f64 -1 (pow.f64 x.im 2)))
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) x.im)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))))
(fma.f64 (*.f64 0 x.im) x.re (fma.f64 3 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im))))
(-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))
(fma.f64 x.im (neg.f64 x.im) (*.f64 (*.f64 x.re x.re) 3))

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x.re (*.f64 x.re x.im))
0.2b
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
Compiler

Compiled 20 to 7 computations (65% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
663×pow1_binary64
610×add-log-exp_binary64
610×log1p-expm1-u_binary64
610×expm1-log1p-u_binary64
598×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
114217
2167317
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re x.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x.re (sqrt.f64 x.im)) (sqrt.f64 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x.re (*.f64 x.re x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (*.f64 x.re x.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (*.f64 x.re x.im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re x.im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (sqrt.f64 x.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.re x.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x.re) (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.re x.im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 (*.f64 x.re x.im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re x.im) 3) (pow.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (*.f64 x.re x.im))))))))

simplify215.0ms (2.1%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
640×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08408
117408
237408
383408
4223408
5736408
6997408
71411408
81511408
91646408
101818408
112061408
122374408
132744408
143202408
153791408
164499408
175361408
185787408
196103408
206411408
216489408
226523408
Stop Event
node limit
Counts
72 → 28
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (pow.f64 x.re 2) x.im)
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 (*.f64 x.re x.re) x.im)
(*.f64 x.re (*.f64 x.re x.im))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
Compiler

Compiled 18 to 9 computations (50% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
670×pow1_binary64
617×add-log-exp_binary64
617×log1p-expm1-u_binary64
617×expm1-log1p-u_binary64
604×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
114310
2171410
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x.re) 3) (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re x.im) 3) (pow.f64 (*.f64 x.re 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x.re 3) 3) (pow.f64 (*.f64 x.re x.im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))))))

simplify177.0ms (1.7%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
640×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08240
117240
237240
383240
4223240
5736240
6997240
71411240
81511240
91646240
101818240
112061240
122374240
132744240
143202240
153791240
164499240
175361240
185787240
196103240
206411240
216489240
226523240
Stop Event
node limit
Counts
37 → 15
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))

localize55.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
0.1b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
1.3b
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im)))
14.6b
(/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))
Compiler

Compiled 126 to 19 computations (84.9% saved)

series7.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite118.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
522×fma-neg_binary64
290×expm1-udef_binary64
290×log1p-udef_binary64
190×add-sqr-sqrt_binary64
188×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify116.0ms (1.1%)

Algorithm
egg-herbie
Rules
827×fma-neg_binary64
600×cancel-sign-sub-inv_binary64
501×unswap-sqr_binary64
376×difference-of-squares_binary64
254×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0421137
11321089
2398993
31688975
45651975
Stop Event
node limit
Counts
250 → 204
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(pow.f64 x.im 4)
(+.f64 (pow.f64 x.im 4) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3)))))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(*.f64 (pow.f64 x.re 3) x.im)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 (pow.f64 x.re 3) x.im))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(*.f64 (pow.f64 x.re 3) x.im)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 (pow.f64 x.re 3) x.im))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(*.f64 (pow.f64 x.re 3) x.im)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 (pow.f64 x.re 3) x.im))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(pow.f64 x.im 4)
(+.f64 (pow.f64 x.im 4) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3)))))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(pow.f64 x.im 4)
(+.f64 (pow.f64 x.im 4) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3)))))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
Outputs
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (*.f64 x.re x.re))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) x.im (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 x.re x.re)) (pow.f64 x.im 3))
(pow.f64 x.im 4)
(+.f64 (pow.f64 x.im 4) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))))
(+.f64 (pow.f64 x.im 4) (neg.f64 (*.f64 (pow.f64 x.im 3) x.re)))
(-.f64 (pow.f64 x.im 4) (*.f64 (pow.f64 x.im 3) x.re))
(*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 (*.f64 (pow.f64 x.im 3) x.re))))
(fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (pow.f64 x.im 4))
(-.f64 (pow.f64 x.im 4) (*.f64 x.re (+.f64 (pow.f64 x.im 3) (*.f64 x.re (*.f64 x.im x.im)))))
(-.f64 (pow.f64 x.im 4) (*.f64 x.im (*.f64 x.re (*.f64 x.im (+.f64 x.im x.re)))))
(-.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.re (*.f64 x.im x.im)) (+.f64 x.im x.re)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3))))
(+.f64 (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im)))) (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)))
(*.f64 (pow.f64 x.re 3) x.im)
(*.f64 x.im (pow.f64 x.re 3))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 (pow.f64 x.re 3) x.im))
(fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (pow.f64 x.re 3)))
(-.f64 (*.f64 x.im (pow.f64 x.re 3)) (*.f64 x.re (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im))
(*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im)))
(fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3))))
(fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3)))
(-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)) (*.f64 (pow.f64 x.im 3) x.re))
(*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im)))
(*.f64 x.re (-.f64 (*.f64 x.im (*.f64 x.re (-.f64 x.re x.im))) (pow.f64 x.im 3)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3))))
(+.f64 (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im)))) (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)))
(*.f64 (pow.f64 x.re 3) x.im)
(*.f64 x.im (pow.f64 x.re 3))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 (pow.f64 x.re 3) x.im))
(fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (pow.f64 x.re 3)))
(-.f64 (*.f64 x.im (pow.f64 x.re 3)) (*.f64 x.re (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im))
(*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im)))
(fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3))))
(fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3)))
(-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)) (*.f64 (pow.f64 x.im 3) x.re))
(*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im)))
(*.f64 x.re (-.f64 (*.f64 x.im (*.f64 x.re (-.f64 x.re x.im))) (pow.f64 x.im 3)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3))))
(+.f64 (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im)))) (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)))
(*.f64 (pow.f64 x.re 3) x.im)
(*.f64 x.im (pow.f64 x.re 3))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 (pow.f64 x.re 3) x.im))
(fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (pow.f64 x.re 3)))
(-.f64 (*.f64 x.im (pow.f64 x.re 3)) (*.f64 x.re (*.f64 x.re (*.f64 x.im x.im))))
(*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im))
(*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im)))
(fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3))))
(fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3)))
(-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)) (*.f64 (pow.f64 x.im 3) x.re))
(*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im)))
(*.f64 x.re (-.f64 (*.f64 x.im (*.f64 x.re (-.f64 x.re x.im))) (pow.f64 x.im 3)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3))))
(+.f64 (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im)))) (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)))
(pow.f64 x.im 4)
(+.f64 (pow.f64 x.im 4) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))))
(+.f64 (pow.f64 x.im 4) (neg.f64 (*.f64 (pow.f64 x.im 3) x.re)))
(-.f64 (pow.f64 x.im 4) (*.f64 (pow.f64 x.im 3) x.re))
(*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 (*.f64 (pow.f64 x.im 3) x.re))))
(fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (pow.f64 x.im 4))
(-.f64 (pow.f64 x.im 4) (*.f64 x.re (+.f64 (pow.f64 x.im 3) (*.f64 x.re (*.f64 x.im x.im)))))
(-.f64 (pow.f64 x.im 4) (*.f64 x.im (*.f64 x.re (*.f64 x.im (+.f64 x.im x.re)))))
(-.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.re (*.f64 x.im x.im)) (+.f64 x.im x.re)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3))))
(+.f64 (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im)))) (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)))
(pow.f64 x.im 4)
(+.f64 (pow.f64 x.im 4) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))))
(+.f64 (pow.f64 x.im 4) (neg.f64 (*.f64 (pow.f64 x.im 3) x.re)))
(-.f64 (pow.f64 x.im 4) (*.f64 (pow.f64 x.im 3) x.re))
(*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (neg.f64 (*.f64 (pow.f64 x.im 3) x.re))))
(fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (pow.f64 x.im 4))
(-.f64 (pow.f64 x.im 4) (*.f64 x.re (+.f64 (pow.f64 x.im 3) (*.f64 x.re (*.f64 x.im x.im)))))
(-.f64 (pow.f64 x.im 4) (*.f64 x.im (*.f64 x.re (*.f64 x.im (+.f64 x.im x.re)))))
(-.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.re (*.f64 x.im x.im)) (+.f64 x.im x.re)))
(+.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1 (*.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (*.f64 x.re (pow.f64 x.im 3))) (*.f64 (pow.f64 x.re 3) x.im))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (fma.f64 -1 (*.f64 (pow.f64 x.im 3) x.re) (*.f64 x.im (pow.f64 x.re 3)))))
(+.f64 (pow.f64 x.im 4) (fma.f64 -1 (fma.f64 (*.f64 x.re x.re) (*.f64 x.im x.im) (*.f64 (pow.f64 x.im 3) x.re)) (*.f64 x.im (pow.f64 x.re 3))))
(+.f64 (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (-.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 4) (*.f64 (*.f64 x.im x.re) (-.f64 (*.f64 x.re (-.f64 x.re x.im)) (*.f64 x.im x.im))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re (-.f64 x.re x.im)))) (*.f64 (pow.f64 x.im 3) (-.f64 x.im x.re)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(*.f64 -1 (pow.f64 x.im 3))
(neg.f64 (pow.f64 x.im 3))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(fma.f64 (*.f64 x.re x.re) (*.f64 3 x.im) (neg.f64 (pow.f64 x.im 3)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.im 3)) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 (neg.f64 x.im) (fma.f64 x.re (*.f64 x.re -3) (*.f64 x.im x.im)))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re))
0.1b
(*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re)
Compiler

Compiled 34 to 7 computations (79.4% saved)

series5.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
859×pow1_binary64
796×add-log-exp_binary64
795×log1p-expm1-u_binary64
795×expm1-log1p-u_binary64
778×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0827
117226
2241426
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re)
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 x.im) (+.f64 x.re x.re)) x.re))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x.re 3) (pow.f64 (*.f64 x.im (+.f64 x.re x.re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x.im (+.f64 x.re x.re)) 3) (pow.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) (*.f64 x.im (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.re)) 1) (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) (pow.f64 (cbrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) 2) (cbrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) (sqrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x.im (*.f64 x.re x.re)) 3) (pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 3)) (+.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re x.re))) (-.f64 (pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 2) (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re x.re))) (pow.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 2)) (-.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x.re (+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re))))))))))

simplify94.0ms (0.9%)

Algorithm
egg-herbie
Rules
771×fma-neg_binary64
694×unswap-sqr_binary64
564×unsub-neg_binary64
393×distribute-rgt-neg-in_binary64
375×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020480
157480
2155480
3514480
41710480
53642480
65763480
77052480
Stop Event
node limit
Counts
84 → 42
Calls
Call 1
Inputs
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
Outputs
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 2 (*.f64 (*.f64 x.re x.re) x.im))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x.re 2)) (*.f64 -2 (pow.f64 x.re 2))) x.im))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 (*.f64 x.re x.re) (*.f64 x.im 3))
(*.f64 (*.f64 x.re (*.f64 x.re x.im)) 3)

eval123.0ms (1.2%)

Compiler

Compiled 9868 to 3197 computations (67.6% saved)

prune80.0ms (0.8%)

Pruning

20 alts after pruning (9 fresh and 11 done)

PrunedKeptTotal
New4068414
Fresh213
Picked011
Done11011
Total40920429
Error
0b
Counts
429 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
27.5b
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
20.8b
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
27.4b
(pow.f64 (neg.f64 x.im) 3)
7.6b
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
20.8b
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
20.7b
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
7.8b
(+.f64 (+.f64 0 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (-.f64 x.re x.im) (/.f64 1 (-.f64 x.re x.im))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
28.2b
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
20.7b
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
19.3b
(+.f64 (+.f64 0 (*.f64 (/.f64 1 (-.f64 x.re x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.8b
(+.f64 (+.f64 0 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (/.f64 1 (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
28.2b
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
7.8b
(+.f64 (+.f64 0 (-.f64 (/.f64 (*.f64 x.re x.re) (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))) (/.f64 (*.f64 x.im x.im) (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
7.7b
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
16.8b
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
24.5b
(+.f64 (+.f64 0 (*.f64 (/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
28.2b
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
20.7b
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re))
Compiler

Compiled 366 to 202 computations (44.8% saved)

regimes57.0ms (0.6%)

Counts
33 → 1
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 x.im (-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im)))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
(+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (-.f64 x.re x.im) (/.f64 1 (-.f64 x.re x.im))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (/.f64 1 (-.f64 x.re x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (/.f64 1 (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (-.f64 (/.f64 (*.f64 x.re x.re) (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))) (/.f64 (*.f64 x.im x.im) (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(pow.f64 (neg.f64 x.im) 3)
(pow.f64 (neg.f64 x.im) 3)
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(*.f64 x.im (fma.f64 3 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im))))
(-.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (pow.f64 x.im 3))
(fma.f64 (*.f64 x.im x.re) x.re (*.f64 (*.f64 x.im (+.f64 x.re x.re)) x.re))
(*.f64 x.im (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 x.re (+.f64 x.re x.re))))
(fma.f64 (*.f64 x.re 3) (*.f64 x.im x.re) (neg.f64 (pow.f64 x.im 3)))
(fma.f64 (*.f64 (*.f64 x.im x.re) 3) x.re (neg.f64 (pow.f64 x.im 3)))
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (cbrt.f64 (pow.f64 (*.f64 x.im (-.f64 x.re x.im)) 3)))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(fma.f64 (*.f64 x.im (cbrt.f64 (*.f64 (pow.f64 x.re 4) 9))) (cbrt.f64 (*.f64 3 (*.f64 x.re x.re))) (neg.f64 (pow.f64 x.im 3)))
Outputs
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
Calls

3 calls:

17.0ms
x.re
16.0ms
x.im
14.0ms
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Results
ErrorSegmentsBranch
0.2b1x.re
0.2b1x.im
0.2b1(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Compiler

Compiled 556 to 185 computations (66.7% saved)

regimes45.0ms (0.4%)

Counts
24 → 1
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
(*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))
(*.f64 x.im (-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im)))
(*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im)))
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
(+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 (*.f64 x.re x.re) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2))))
(+.f64 (+.f64 0 (/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.im (-.f64 x.re x.im))) (-.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 (-.f64 x.re x.im) (/.f64 1 (-.f64 x.re x.im))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (/.f64 1 (-.f64 x.re x.im)) (*.f64 x.im (*.f64 (-.f64 x.re x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (/.f64 1 (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (*.f64 (/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.re x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (+.f64 0 (-.f64 (/.f64 (*.f64 x.re x.re) (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))) (/.f64 (*.f64 x.im x.im) (/.f64 (-.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im)))))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(pow.f64 (neg.f64 x.im) 3)
(pow.f64 (neg.f64 x.im) 3)
Outputs
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Calls

3 calls:

14.0ms
x.im
12.0ms
x.re
11.0ms
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Results
ErrorSegmentsBranch
0.2b1x.re
0.2b1x.im
0.2b1(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Compiler

Compiled 432 to 129 computations (70.1% saved)

regimes74.0ms (0.7%)

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

3 calls:

25.0ms
x.im
24.0ms
x.re
20.0ms
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Results
ErrorSegmentsBranch
0.2b3x.re
0.6b3x.im
0.2b3(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
Compiler

Compiled 178 to 71 computations (60.1% saved)

bsearch38.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
5.729134887347441e+113
8.337226156780541e+123
7.0ms
-2.5890554467411945e+151
-4.60549207038115e+149
Compiler

Compiled 90 to 53 computations (41.1% saved)

regimes51.0ms (0.5%)

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

2 calls:

24.0ms
x.im
23.0ms
x.re
Results
ErrorSegmentsBranch
0.2b3x.re
0.6b3x.im
Compiler

Compiled 138 to 59 computations (57.2% saved)

bsearch40.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
5.729134887347441e+113
8.337226156780541e+123
24.0ms
-2.8105225968140672e+85
-2.1344833347304435e+83
Compiler

Compiled 56 to 34 computations (39.3% saved)

regimes47.0ms (0.5%)

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

2 calls:

22.0ms
x.re
21.0ms
x.im
Results
ErrorSegmentsBranch
0.2b3x.re
0.6b3x.im
Compiler

Compiled 121 to 52 computations (57% saved)

bsearch30.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
5.729134887347441e+113
8.337226156780541e+123
14.0ms
-3.010894605804192e+123
-2.4880163505479057e+123
Compiler

Compiled 74 to 47 computations (36.5% saved)

regimes38.0ms (0.4%)

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

2 calls:

19.0ms
x.re
17.0ms
x.im
Results
ErrorSegmentsBranch
0.2b3x.re
0.6b3x.im
Compiler

Compiled 67 to 37 computations (44.8% saved)

bsearch31.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
5.729134887347441e+113
8.337226156780541e+123
15.0ms
-9.864925274212564e+125
-3.010894605804192e+123
Compiler

Compiled 74 to 47 computations (36.5% saved)

regimes37.0ms (0.4%)

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

2 calls:

20.0ms
x.re
15.0ms
x.im
Results
ErrorSegmentsBranch
6.4b3x.re
7.1b3x.im
Compiler

Compiled 56 to 31 computations (44.6% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
4.682888782153709e-70
3.0583508684405067e-66
25.0ms
-1.0626710451420725e-50
-5.367351269436873e-52
Compiler

Compiled 26 to 15 computations (42.3% saved)

regimes39.0ms (0.4%)

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

2 calls:

19.0ms
x.re
17.0ms
x.im
Results
ErrorSegmentsBranch
6.4b3x.re
7.1b3x.im
Compiler

Compiled 49 to 27 computations (44.9% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
4.682888782153709e-70
3.0583508684405067e-66
25.0ms
-1.0626710451420725e-50
-5.367351269436873e-52
Compiler

Compiled 26 to 15 computations (42.3% saved)

regimes31.0ms (0.3%)

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

2 calls:

18.0ms
x.re
12.0ms
x.im
Results
ErrorSegmentsBranch
6.4b3x.re
7.1b3x.im
Compiler

Compiled 42 to 24 computations (42.9% saved)

bsearch50.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
4.682888782153709e-70
3.0583508684405067e-66
26.0ms
-1.0626710451420725e-50
-5.367351269436873e-52
Compiler

Compiled 26 to 15 computations (42.3% saved)

regimes28.0ms (0.3%)

Accuracy

Total -33.7b remaining (-243%)

Threshold costs -33.7b (-243%)

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

2 calls:

15.0ms
x.re
12.0ms
x.im
Results
ErrorSegmentsBranch
13.9b3x.re
14.5b3x.im
Compiler

Compiled 21 to 13 computations (38.1% saved)

bsearch53.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
4.682888782153709e-70
3.0583508684405067e-66
24.0ms
-1.0626710451420725e-50
-5.367351269436873e-52
Compiler

Compiled 26 to 15 computations (42.3% saved)

simplify28.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
081430
1129430
2144430
3155430
4159430
5160430
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(if (<=.f64 x.re -10000000000000000171775323872177191180393104084305455107732328445200031262781885420082626742861173182722545959543542834786931126445173006249634549465088) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -28105225968140672315739902536080393936835025648504379856386003429198415504635668201472) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -3000000000000000079913820617576965753266490192118328943156409274757465791875205378996663746187550611535459965260897991000064) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -99999999999999992486776161899288204254467086983483846143922597222529419997579302660316349376281765375153005841365553228283904) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (*.f64 x.im (-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))))
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
Outputs
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 3 x.re))) (pow.f64 x.im 3))
(-.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 3))) (pow.f64 x.im 3))
(+.f64 (+.f64 0 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.im (-.f64 x.re x.im))) (*.f64 x.re (+.f64 (*.f64 x.re x.im) (*.f64 x.re x.im))))
(if (<=.f64 x.re -10000000000000000171775323872177191180393104084305455107732328445200031262781885420082626742861173182722545959543542834786931126445173006249634549465088) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -10000000000000000171775323872177191180393104084305455107732328445200031262781885420082626742861173182722545959543542834786931126445173006249634549465088) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 x.re (+.f64 (*.f64 x.re x.im) (*.f64 x.re x.im))) (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))))
(if (<=.f64 x.re -28105225968140672315739902536080393936835025648504379856386003429198415504635668201472) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -28105225968140672315739902536080393936835025648504379856386003429198415504635668201472) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 2)))) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))))
(if (<=.f64 x.re -3000000000000000079913820617576965753266490192118328943156409274757465791875205378996663746187550611535459965260897991000064) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -3000000000000000079913820617576965753266490192118328943156409274757465791875205378996663746187550611535459965260897991000064) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (*.f64 x.im (-.f64 (*.f64 3 (*.f64 x.re x.re)) (*.f64 x.im x.im))) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))))
(if (<=.f64 x.re -99999999999999992486776161899288204254467086983483846143922597222529419997579302660316349376281765375153005841365553228283904) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (*.f64 x.im (-.f64 (*.f64 (*.f64 3 x.re) x.re) (*.f64 x.im x.im))) (*.f64 (*.f64 x.re x.im) (*.f64 3 x.re))))
(if (<=.f64 x.re -99999999999999992486776161899288204254467086983483846143922597222529419997579302660316349376281765375153005841365553228283904) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (*.f64 x.im (-.f64 (*.f64 x.re (*.f64 x.re 3)) (*.f64 x.im x.im))) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (neg.f64 (*.f64 x.im (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 (*.f64 x.im x.im) (neg.f64 x.im)) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (neg.f64 (*.f64 x.im (*.f64 x.im x.im))) (*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 (*.f64 x.im x.im) (neg.f64 x.im)) (*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (neg.f64 (*.f64 x.im (*.f64 x.im x.im))) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 (*.f64 x.im x.im) (neg.f64 x.im)) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 x.im (*.f64 x.im (neg.f64 x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (neg.f64 (*.f64 x.im (*.f64 x.im x.im))) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))))
(if (<=.f64 x.re -8952985844298595/842498333348457493583344221469363458551160763204392890034487820288) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3))) (if (<=.f64 x.re 7277841890274271/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (*.f64 (*.f64 x.im x.im) (neg.f64 x.im)) (*.f64 x.im (*.f64 x.re (*.f64 x.re 3)))))
(*.f64 x.im (*.f64 x.im (neg.f64 x.im)))
(neg.f64 (*.f64 x.im (*.f64 x.im x.im)))
(*.f64 (*.f64 x.im x.im) (neg.f64 x.im))
Compiler

Compiled 316 to 185 computations (41.5% saved)

soundness340.0ms (3.4%)

Algorithm
egg-herbie
Rules
795×fma-neg_binary64
578×fma-neg_binary64
486×sub-neg_binary64
453×unsub-neg_binary64
450×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01224
12723
26323
315016
442016
5118916
6213916
7551716
014660
134660
286660
3202660
4530660
51885660
63975660
75532660
87302660
Stop Event
node limit
node limit
Compiler

Compiled 515 to 312 computations (39.4% saved)

end108.0ms (1.1%)

Compiler

Compiled 296 to 132 computations (55.4% saved)

Profiling

Loading profile data...