Details

Time bar (total: 12.9s)

analyze124.0ms (1%)

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)

sample3.8s (29.6%)

Results
2.6s8256×body256valid
1.2s1752×body256infinite
Bogosity

preprocess118.0ms (0.9%)

Algorithm
egg-herbie
Rules
1302×rational.json-simplify-2
908×rational.json-simplify-44
834×rational.json-simplify-39
798×rational.json-simplify-47
720×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01898
13998
26186
313986
450086
5415186
6659786
7782286
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))
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 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))
(+.f64 (*.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))))
(+.f64 (*.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 x.re (+.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (*.f64 x.im (+.f64 x.im x.im))))
Compiler

Compiled 23 to 13 computations (43.5% saved)

simplify128.0ms (1%)

Algorithm
egg-herbie
Rules
1190×rational.json-simplify-2
930×rational.json-simplify-44
820×rational.json-simplify-39
818×rational.json-simplify-47
706×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01349
12649
24149
39643
442243
5404543
6639643
7755043
Stop Event
node limit
Counts
1 → 4
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))
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))

eval1.0ms (0%)

Compiler

Compiled 70 to 25 computations (64.3% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New134
Fresh101
Picked000
Done000
Total235
Error
0.1b
Counts
5 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
5.7b
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
5.7b
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
Compiler

Compiled 55 to 29 computations (47.3% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 9 computations (83% saved)

series4.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite130.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1534×rational.json-simplify-35
1236×bool.json-1
1236×bool.json-2
1216×rational.json-1
1216×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01199
111399
232599
382299
4309499
Stop Event
node limit
Counts
3 → 54
Calls
Call 1
Inputs
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 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 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.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 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) (+.f64 x.im x.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.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)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.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 and (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.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 or (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.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 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.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 2 (/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4)) (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.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 and (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) (+.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 or (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) (+.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 x.re x.re) (*.f64 x.im (neg.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 0)))) (#(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 (*.f64 x.im (neg.f64 x.im)) (*.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) -1)))) (#(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 (+.f64 x.im x.re) (-.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x.re x.im) (+.f64 x.im x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re (fabs.f64 x.im)) (-.f64 x.re (fabs.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im (fabs.f64 x.re)) (-.f64 (fabs.f64 x.re) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fabs.f64 x.re) x.im) (+.f64 x.im (fabs.f64 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x.re (fabs.f64 x.im)) (+.f64 x.re (fabs.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (-.f64 (fabs.f64 x.re) (fabs.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im x.re) 2) (/.f64 (-.f64 x.re x.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x.re x.im) 2) (/.f64 (+.f64 x.im x.re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x.im x.re) 2) (*.f64 (-.f64 x.re x.im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x.re x.im) 2) (*.f64 (+.f64 x.im x.re) 2))))) (#(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 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4)) (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))

simplify185.0ms (1.4%)

Algorithm
egg-herbie
Rules
1330×rational.json-simplify-2
1080×rational.json-simplify-1
1068×rational.json-simplify-51
676×rational.json-simplify-35
600×rational.json-simplify-40
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01283590
12493464
25533464
318753464
458803464
Stop Event
node limit
Counts
126 → 90
Calls
Call 1
Inputs
(*.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 (+.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 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 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 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 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 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 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 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))
(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))
(+.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(+.f64 0 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))))
(-.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(/.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) (+.f64 x.im x.im)) 2)
(/.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)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)
(-.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 0)
(*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 1)
(*.f64 1 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 2 (/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2))
(*.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2))
(*.f64 (/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 2)
(/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 1)
(/.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 2)
(/.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4)) (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4))) 16)
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 0)
(+.f64 0 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+.f64 (*.f64 x.im (neg.f64 x.im)) (*.f64 x.re x.re))
(+.f64 -1 (-.f64 1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(+.f64 (-.f64 1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) -1)
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 1)
(*.f64 1 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im))
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re))
(*.f64 2 (/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2))
(*.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 1/2)
(*.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) -1)
(*.f64 (+.f64 x.re (fabs.f64 x.im)) (-.f64 x.re (fabs.f64 x.im)))
(*.f64 (+.f64 x.im (fabs.f64 x.re)) (-.f64 (fabs.f64 x.re) x.im))
(*.f64 (-.f64 (fabs.f64 x.re) x.im) (+.f64 x.im (fabs.f64 x.re)))
(*.f64 (-.f64 x.re (fabs.f64 x.im)) (+.f64 x.re (fabs.f64 x.im)))
(*.f64 (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (-.f64 (fabs.f64 x.re) (fabs.f64 x.im)))
(*.f64 (-.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)))
(*.f64 (*.f64 (+.f64 x.im x.re) 2) (/.f64 (-.f64 x.re x.im) 2))
(*.f64 (*.f64 (-.f64 x.re x.im) 2) (/.f64 (+.f64 x.im x.re) 2))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2))
(*.f64 -1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(*.f64 (/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 2)
(*.f64 (/.f64 (+.f64 x.im x.re) 2) (*.f64 (-.f64 x.re x.im) 2))
(*.f64 (/.f64 (-.f64 x.re x.im) 2) (*.f64 (+.f64 x.im x.re) 2))
(/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 2)
(/.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) -1)
(/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4)) (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4))) 16)
(neg.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
Outputs
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 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 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (neg.f64 (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (neg.f64 (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (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)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (neg.f64 (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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.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 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.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 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.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 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.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 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.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 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.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 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (pow.f64 x.im 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 (pow.f64 x.re 2) 3)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 (pow.f64 x.re 2) 3)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (pow.f64 x.im 2))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (pow.f64 x.im 2))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (neg.f64 (pow.f64 x.im 2))))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2))))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(pow.f64 x.re 2)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(pow.f64 x.re 2)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(pow.f64 x.re 2)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 -1 (pow.f64 x.im 2)))
(+.f64 (pow.f64 x.re 2) (neg.f64 (pow.f64 x.im 2)))
(+.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 0 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(-.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.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 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 4)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(-.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 0)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 1)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 1 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 2 (/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 1/2)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 (/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 2)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(/.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 1)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(/.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 2) 2)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(/.f64 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4) 4)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4)) 8)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4)) (*.f64 2 (*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) 4))) 16)
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 0)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+.f64 0 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+.f64 (*.f64 x.im (neg.f64 x.im)) (*.f64 x.re x.re))
(+.f64 (*.f64 x.re x.re) (*.f64 x.im (neg.f64 x.im)))
(+.f64 (*.f64 x.re x.re) (neg.f64 (*.f64 x.im x.im)))
(+.f64 -1 (-.f64 1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+.f64 (-.f64 1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) -1)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 1)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 1 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (-.f64 x.re x.im) (+.f64 x.im x.re))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 2 (/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 1/2)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) -1)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (+.f64 x.re (fabs.f64 x.im)) (-.f64 x.re (fabs.f64 x.im)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (+.f64 x.im (fabs.f64 x.re)) (-.f64 (fabs.f64 x.re) x.im))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (-.f64 (fabs.f64 x.re) x.im) (+.f64 x.im (fabs.f64 x.re)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (-.f64 x.re (fabs.f64 x.im)) (+.f64 x.re (fabs.f64 x.im)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (-.f64 (fabs.f64 x.re) (fabs.f64 x.im)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (-.f64 (fabs.f64 x.re) (fabs.f64 x.im)) (+.f64 (fabs.f64 x.re) (fabs.f64 x.im)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (*.f64 (+.f64 x.im x.re) 2) (/.f64 (-.f64 x.re x.im) 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (*.f64 (-.f64 x.re x.im) 2) (/.f64 (+.f64 x.im x.re) 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 -1 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 2)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (/.f64 (+.f64 x.im x.re) 2) (*.f64 (-.f64 x.re x.im) 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 (/.f64 (-.f64 x.re x.im) 2) (*.f64 (+.f64 x.im x.re) 2))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 1)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2) 2)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) -1)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4) 4)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (*.f64 2 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) -2)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4)) 8)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4)) (*.f64 2 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 4))) 16)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(neg.f64 (-.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))

localize14.0ms (0.1%)

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 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
0.2b
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
5.3b
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 58 to 10 computations (82.8% saved)

series5.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite63.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1576×rational.json-simplify-35
1340×bool.json-1
1340×bool.json-2
1320×rational.json-1
1320×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01293
112393
234993
390787
4337987
Stop Event
node limit
Counts
3 → 33
Calls
Call 1
Inputs
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
Outputs
((#(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 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))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im 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 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.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 x.re)) (*.f64 x.im (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.im x.im) (/.f64 1 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im 4) (*.f64 2 (/.f64 1 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.re (+.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 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.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 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.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 2 (/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.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)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.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)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) x.im)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.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)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.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)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.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 and (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.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 or (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))))))))

simplify114.0ms (0.9%)

Algorithm
egg-herbie
Rules
1084×rational.json-simplify-2
1040×rational.json-simplify-19
792×rational.json-simplify-51
710×rational.json-simplify-1
698×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0953087
12212937
25442931
316762865
447502865
571712865
Stop Event
node limit
Counts
105 → 62
Calls
Call 1
Inputs
(*.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 -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 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 (*.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 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 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(+.f64 0 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(-.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(/.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)
(/.f64 (*.f64 x.im (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2)) 2)
(/.f64 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4))) 16)
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re x.re)))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(/.f64 (+.f64 x.im x.im) (/.f64 1 (*.f64 x.re x.re)))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)
(/.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 4))) 2)
(/.f64 (*.f64 x.im 4) (*.f64 2 (/.f64 1 (*.f64 x.re x.re))))
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4))) 16)
(-.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.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)))))
(*.f64 2 (/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2))
(*.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)))) 2) 1/2)
(*.f64 1/2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2))
(*.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)))) 2) 2)
(*.f64 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) x.im)
(/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(/.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)))) 2) 2)
(/.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)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)
Outputs
(*.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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (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) (neg.f64 (pow.f64 x.im 3)))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 2 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im x.im))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1)))
(*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 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 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1)))
(*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 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 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1)))
(*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3)))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.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 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(+.f64 0 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(-.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(/.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(/.f64 (*.f64 x.im (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) 2)) 2)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(/.f64 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) 4)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4))) 16)
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(+.f64 (*.f64 x.im (*.f64 x.re x.re)) (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (+.f64 x.im x.im) (/.f64 1 (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 4))) 2)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (*.f64 x.im 4) (*.f64 2 (/.f64 1 (*.f64 x.re x.re))))
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4) 4)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4)) 8)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 4))) 16)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(-.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.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)))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 2 (/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 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 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 1/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 1/2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 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 (/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 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 (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))) x.im)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.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)))) 2) 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 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 4)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 56 to 10 computations (82.1% saved)

series5.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite76.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1260×bool.json-1
1260×bool.json-2
1226×rational.json-1
1226×rational.json-2
1226×rational.json-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01287
112187
231987
371687
4158681
5398181
Stop Event
node limit
Counts
3 → 38
Calls
Call 1
Inputs
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(*.f64 (-.f64 x.re x.im) x.im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))) (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.im (+.f64 (*.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 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.im (+.f64 (*.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 (+.f64 (*.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 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 x.im (+.f64 (*.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 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (+.f64 (*.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 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (+.f64 (*.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 and (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.f64 x.im (+.f64 (*.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 or (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.f64 x.im (+.f64 (*.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 x.im (-.f64 x.re x.im)) 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 (-.f64 x.re x.im) (*.f64 x.im 1/2)) (*.f64 (-.f64 x.re x.im) (*.f64 x.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (-.f64 x.re x.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (-.f64 x.re x.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)))) (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (-.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (-.f64 x.re x.im)) (*.f64 x.im (-.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (-.f64 x.re x.im)) (*.f64 x.im (-.f64 x.re x.im)))))))

simplify161.0ms (1.3%)

Algorithm
egg-herbie
Rules
1398×rational.json-simplify-46
1138×rational.json-simplify-2
1032×rational.json-simplify-19
956×rational.json-simplify-51
944×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01394250
13144000
26623992
316233806
433823806
550153806
667153806
774613806
Stop Event
node limit
Counts
110 → 123
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))
(+.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 0)
(+.f64 0 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(+.f64 (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))) (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))))
(-.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 0)
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 1)
(/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) 2))) 2)
(/.f64 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4))))) 32)
(-.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) 1/2))))
(*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.f64 1 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))))
(*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1/2))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2)))))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 1/2)
(*.f64 4 (/.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 1/4)
(*.f64 1/2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1/2) 2)
(/.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(/.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 2)
(/.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)))) 32)
(+.f64 (*.f64 x.im (-.f64 x.re x.im)) 0)
(+.f64 0 (*.f64 x.im (-.f64 x.re x.im)))
(+.f64 (*.f64 (-.f64 x.re x.im) (*.f64 x.im 1/2)) (*.f64 (-.f64 x.re x.im) (*.f64 x.im 1/2)))
(-.f64 (*.f64 x.im (-.f64 x.re x.im)) 0)
(/.f64 (*.f64 x.im (-.f64 x.re x.im)) 1)
(/.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.im)) 2)
(/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)))) (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4))))) 32)
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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (*.f64 0 (neg.f64 (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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (pow.f64 x.re 2))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2)))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (pow.f64 x.re 2))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2)))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (pow.f64 x.re 2))
(+.f64 (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (*.f64 -1 (pow.f64 x.im 2))))
(*.f64 -1 (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (pow.f64 x.im 3)))
(*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(+.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 (+.f64 x.re (*.f64 -1 x.re)) (*.f64 -1 (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 -1 (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (pow.f64 x.im 3))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))))
(+.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 (+.f64 x.re (*.f64 -1 x.re)) (*.f64 -1 (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 -1 (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (pow.f64 x.im 3))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))))
(+.f64 (*.f64 x.im (pow.f64 x.re 2)) (neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (*.f64 0 (neg.f64 (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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.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 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.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 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2))) x.re) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (*.f64 0 (neg.f64 (pow.f64 x.im 2))) x.re) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))
(+.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 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.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 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(+.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 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 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 -1 (pow.f64 x.im 3)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(+.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 (pow.f64 x.im 2) (+.f64 x.re (*.f64 -1 x.re))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 x.re (*.f64 -1 x.re)) (*.f64 -1 (pow.f64 x.im 2))))
(*.f64 -1 (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (pow.f64 x.im 3)))
(*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(+.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 (+.f64 x.re (*.f64 -1 x.re)) (*.f64 -1 (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 -1 (pow.f64 x.re 2))) (*.f64 x.im -1))))
(+.f64 (*.f64 (neg.f64 (pow.f64 x.im 2)) (+.f64 x.re (neg.f64 x.re))) (*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3))))
(*.f64 -1 (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (+.f64 (pow.f64 x.im 3) (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)))))
(+.f64 (neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))) (*.f64 x.im (*.f64 3 (pow.f64 x.re 2))))
(neg.f64 (+.f64 (pow.f64 x.im 3) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (*.f64 (pow.f64 x.re 2) -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 (+.f64 x.re (*.f64 -1 x.re)) (*.f64 -1 (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 -1 (pow.f64 x.re 2))) (*.f64 x.im -1))))
(+.f64 (*.f64 (neg.f64 (pow.f64 x.im 2)) (+.f64 x.re (neg.f64 x.re))) (*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3))))
(*.f64 -1 (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (+.f64 (pow.f64 x.im 3) (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)))))
(+.f64 (neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))) (*.f64 x.im (*.f64 3 (pow.f64 x.re 2))))
(neg.f64 (+.f64 (pow.f64 x.im 3) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)))))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (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.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (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.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(*.f64 -1 (pow.f64 x.im 2))
(neg.f64 (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.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 -1 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (neg.f64 (pow.f64 x.im 2)) (*.f64 x.im x.re))
(+.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 0)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(+.f64 0 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(+.f64 (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))) (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))))
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(-.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 0)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) 1)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) 2))) 2)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(/.f64 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)) 4)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4))) 8)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)))) 16)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) 4))))) 32)
(*.f64 x.im (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (-.f64 x.re x.im) (*.f64 x.im (+.f64 x.im x.re)))
(-.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 0)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) 1/2))))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (-.f64 x.re x.im) (*.f64 1/2 (+.f64 x.im x.re)))))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) 1/2))))
(*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 1 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))))
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1/2))
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2)))))
(*.f64 2 (+.f64 (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 x.im x.re))))
(*.f64 2 (+.f64 (*.f64 (-.f64 x.re x.im) (*.f64 (+.f64 x.im x.re) (*.f64 x.im 1/2))) (*.f64 x.im (*.f64 x.re x.re))))
(*.f64 2 (*.f64 x.im (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) 1/2)))))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 1/2)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 4 (/.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 1/4)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 1/2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2))
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1/2) 2)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 1)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 2) 2)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4) 4)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)) 8)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) 16)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))) 4)))) 32)
(*.f64 x.im (+.f64 (*.f64 (+.f64 x.im x.re) (-.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 (*.f64 x.im (-.f64 x.re x.im)) 0)
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 0 (*.f64 x.im (-.f64 x.re x.im)))
(*.f64 x.im (-.f64 x.re x.im))
(+.f64 (*.f64 (-.f64 x.re x.im) (*.f64 x.im 1/2)) (*.f64 (-.f64 x.re x.im) (*.f64 x.im 1/2)))
(*.f64 x.im (-.f64 x.re x.im))
(-.f64 (*.f64 x.im (-.f64 x.re x.im)) 0)
(*.f64 x.im (-.f64 x.re x.im))
(/.f64 (*.f64 x.im (-.f64 x.re x.im)) 1)
(*.f64 x.im (-.f64 x.re x.im))
(/.f64 (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.im)) 2)
(*.f64 x.im (-.f64 x.re x.im))
(/.f64 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)) 4)
(*.f64 x.im (-.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4))) 8)
(*.f64 x.im (-.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)))) 16)
(*.f64 x.im (-.f64 x.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4)))) (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (-.f64 x.re x.im) 4))))) 32)
(*.f64 x.im (-.f64 x.re x.im))

eval204.0ms (1.6%)

Compiler

Compiled 6347 to 2378 computations (62.5% saved)

prune114.0ms (0.9%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3274331
Fresh000
Picked011
Done022
Total3277334
Error
0.0b
Counts
334 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
5.7b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1))
0.2b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
17.9b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
5.7b
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
23.4b
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
5.7b
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
29.8b
(neg.f64 (pow.f64 x.im 3))
Compiler

Compiled 108 to 62 computations (42.6% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.7b
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite188.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1256×bool.json-1
1256×bool.json-2
1218×rational.json-1
1218×rational.json-2
1218×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
19019
224419
350519
4101119
5222819
6472719
7798119
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 2 (*.f64 (pow.f64 x.re 2) x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 (pow.f64 x.re 2) x.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3/2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)))) (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))))))

simplify1.2s (9.4%)

Algorithm
egg-herbie
Rules
9096×rational.json-simplify-41
4040×rational.json-simplify-35
3048×rational.json-simplify-2
1748×rational.json-simplify-53
840×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046703
1106703
2230703
3530703
41452703
52508703
63412703
73563703
83678703
93786703
103894703
114002703
124619703
134977703
145243703
155335703
165410703
175410703
185525703
195633703
205741703
215849703
225957703
236251703
246359703
256516703
266787703
277010703
287138703
297153703
307154703
317154703
Stop Event
node limit
Counts
37 → 16
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 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 0)
(+.f64 0 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 2 (*.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3/2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3/2)))
(-.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 0)
(/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 1)
(/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 6)) 2)
(/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 12)) 4)
(/.f64 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)) 8)
(/.f64 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)))) (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im))))) 64)
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 0)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(+.f64 0 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 2 (*.f64 (pow.f64 x.re 2) x.im)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3/2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3/2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(-.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 0)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)) 1)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 6)) 2)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 x.im 12)) 4)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)) 8)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im))) 16)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)))) 32)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im)))) (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (pow.f64 x.re 2) x.im))))) 64)
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 47 to 9 computations (80.9% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite119.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1158×bool.json-1
1158×bool.json-2
1130×rational.json-1
1130×rational.json-2
1130×rational.json-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01162
111256
229956
365950
4144344
5369344
6797044
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2))) (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (+.f64 x.re x.im) (+.f64 x.im x.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (*.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 or (*.f64 x.re (*.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 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 x.re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (+.f64 x.im x.im)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x.re 1/2) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re x.re) (*.f64 1/2 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re x.re) (/.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re x.re) (+.f64 (*.f64 x.re x.im) (*.f64 x.im (*.f64 (+.f64 x.re x.im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 x.re 1/4) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re 4) (*.f64 1/4 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))))

simplify114.0ms (0.9%)

Algorithm
egg-herbie
Rules
1138×rational.json-simplify-41
1118×rational.json-simplify-2
1070×rational.json-simplify-51
946×rational.json-simplify-35
918×rational.json-simplify-59
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01312688
13012610
26782598
315912598
432732532
561062532
672702532
Stop Event
node limit
Counts
90 → 73
Calls
Call 1
Inputs
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 (pow.f64 x.re 2) x.im)
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 x.re (pow.f64 x.im 2)))
(*.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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(*.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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 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 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 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 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 x.re (pow.f64 x.im 2)))
(*.f64 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 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 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 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 0)
(+.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2))) (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2))))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 0)
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 1)
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.re x.im) (+.f64 x.im x.im))) 2)
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))) 4)
(/.f64 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im)))))) 32)
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 x.re 1/2))))
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))
(*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 1 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))))
(*.f64 2 (*.f64 (*.f64 x.re 1/2) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2)))))
(*.f64 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)) 1/2)
(*.f64 (+.f64 x.re x.re) (*.f64 1/2 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (+.f64 x.re x.re) (/.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 2))
(*.f64 (+.f64 x.re x.re) (+.f64 (*.f64 x.re x.im) (*.f64 x.im (*.f64 (+.f64 x.re x.im) 1/2))))
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 4 (/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))
(*.f64 4 (*.f64 (*.f64 x.re 1/4) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (*.f64 x.re 4) (*.f64 1/4 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 1/4)
(*.f64 1/2 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)))
(*.f64 (*.f64 2 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re 1/2))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))) 2)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(/.f64 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)) 2)
(/.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)))) 32)
Outputs
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (pow.f64 x.re 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (pow.f64 x.re 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) x.im)
(*.f64 x.im (pow.f64 x.re 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(+.f64 (*.f64 (pow.f64 x.re 2) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(+.f64 (*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 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 x.im 2)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 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 x.im 2)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(+.f64 (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 x.im 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 3 x.im)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 (pow.f64 x.re 2) -3) (neg.f64 x.im)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (neg.f64 (*.f64 (pow.f64 x.re 2) -3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 (pow.f64 x.re 2) -3) (neg.f64 x.im)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (neg.f64 (*.f64 (pow.f64 x.re 2) -3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -2 (pow.f64 x.re 2)) (*.f64 -1 (pow.f64 x.re 2))) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 (pow.f64 x.re 2) -3) (neg.f64 x.im)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (neg.f64 (*.f64 (pow.f64 x.re 2) -3))))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(+.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2))) (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2))))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.im))) 1)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.re x.im) (+.f64 x.im x.im))) 2)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))) 4)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im)))) 8)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))))) 16)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im))))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (*.f64 x.im 4) (+.f64 x.re x.im)))))) 32)
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 x.re 1/2))))
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (*.f64 x.im 2)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2))))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 x.re 1/2))))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (*.f64 x.im 2)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2))))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 1 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 2 (*.f64 (*.f64 x.re 1/2) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (*.f64 x.im (*.f64 x.re 1/2)))))
(*.f64 2 (+.f64 (*.f64 x.im (*.f64 (+.f64 x.re x.im) (*.f64 x.re 1/2))) (*.f64 x.re (*.f64 x.re x.im))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 (+.f64 x.re x.im) (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 x.re x.im))))
(*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))))
(*.f64 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)) 1/2)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (+.f64 x.re x.re) (*.f64 1/2 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (+.f64 x.re x.re) (/.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 2))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (+.f64 x.re x.re) (+.f64 (*.f64 x.re x.im) (*.f64 x.im (*.f64 (+.f64 x.re x.im) 1/2))))
(*.f64 (+.f64 x.im x.im) (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (*.f64 x.re 1/2))))
(*.f64 (*.f64 x.re (+.f64 x.im x.im)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (*.f64 x.im 2)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2))))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 4 (/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 4 (*.f64 (*.f64 x.re 1/4) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re 4) (*.f64 1/4 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 1/4)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 1/2 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 2 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re 1/2))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))) 2)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 (*.f64 x.re x.im) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 2)) 2)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 4)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)) 8)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) 16)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)))) 32)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))

localize54.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 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1))
0.2b
(*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im))
5.6b
(*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))
Compiler

Compiled 68 to 15 computations (77.9% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite135.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1398×bool.json-1
1398×bool.json-2
1366×rational.json-1
1366×rational.json-2
1366×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01468
115168
241762
389262
4194262
5457162
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 x.re (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (*.f64 x.re (*.f64 x.im x.re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.re (+.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 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.im (+.f64 (*.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 1 (*.f64 x.im (+.f64 (*.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 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x.im (/.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 (+.f64 x.im x.re) (*.f64 x.im (/.f64 (-.f64 x.im x.re) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) x.im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.im (/.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (+.f64 (*.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 and (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im (+.f64 (*.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 or (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))))

simplify102.0ms (0.8%)

Algorithm
egg-herbie
Rules
1226×rational.json-simplify-35
1166×rational.json-simplify-41
1136×rational.json-simplify-54
976×rational.json-simplify-2
672×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01222983
12762859
25422845
313842725
431572725
574802725
Stop Event
node limit
Counts
79 → 89
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 -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 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 x.re (*.f64 x.im x.re)))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)
(/.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 2)
(/.f64 (*.f64 8 (*.f64 x.re (*.f64 x.im x.re))) 4)
(/.f64 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4)))) 64)
(-.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 0)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 1 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 1)
(*.f64 2 (*.f64 x.im (/.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2)))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 (+.f64 x.im x.re) (*.f64 x.im (/.f64 (-.f64 x.im x.re) -2)))))
(*.f64 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)) 1/2)
(*.f64 4 (/.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)))
(*.f64 1/2 (+.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.im)))))
(*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) x.im)
(*.f64 (*.f64 2 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im 1/2))
(*.f64 (*.f64 x.im (/.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2)) 2)
(/.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)) 2)
(/.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4)))) 32)
Outputs
(*.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))
(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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))))
(+.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 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.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 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.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 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.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 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))
(*.f64 (+.f64 (*.f64 2 x.im) x.im) (pow.f64 x.re 2))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))
(*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.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 (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im))))
(+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im))))
(+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.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 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.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 x.re (+.f64 (pow.f64 x.im 2) (*.f64 -1 (pow.f64 x.im 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (*.f64 2 x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (+.f64 (pow.f64 x.im 2) (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (+.f64 x.im (+.f64 x.im x.im)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.re (*.f64 0 (neg.f64 (pow.f64 x.im 2)))) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))))
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))))
(+.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.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 x.re -1))))
(+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 x.re -1)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 x.re -1)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 x.re -1))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 x.re -1)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 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))))
(+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (*.f64 x.re -1)))))
(+.f64 (neg.f64 (pow.f64 x.im 3)) (+.f64 (*.f64 x.im (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(*.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)))
(+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 x.re (*.f64 x.re -1)) (*.f64 -1 (pow.f64 x.im 2))))
(*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re)))))
(+.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 (+.f64 x.re (*.f64 x.re -1)) (*.f64 -1 (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1))))
(+.f64 (*.f64 (neg.f64 (pow.f64 x.im 2)) (+.f64 x.re (neg.f64 x.re))) (*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3))))
(+.f64 (*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(neg.f64 (+.f64 (pow.f64 x.im 3) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 (pow.f64 x.re 2) (*.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 (+.f64 x.re (*.f64 x.re -1)) (*.f64 -1 (pow.f64 x.im 2))) (+.f64 (*.f64 -1 (pow.f64 x.im 3)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 2) -2) (*.f64 (pow.f64 x.re 2) -1)) (*.f64 x.im -1))))
(+.f64 (*.f64 (neg.f64 (pow.f64 x.im 2)) (+.f64 x.re (neg.f64 x.re))) (*.f64 -1 (+.f64 (*.f64 x.im (*.f64 (pow.f64 x.re 2) -3)) (pow.f64 x.im 3))))
(+.f64 (*.f64 -1 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (neg.f64 (+.f64 (pow.f64 x.im 3) (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))))) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(neg.f64 (+.f64 (pow.f64 x.im 3) (+.f64 (*.f64 (pow.f64 x.im 2) (+.f64 x.re (neg.f64 x.re))) (*.f64 (pow.f64 x.re 2) (*.f64 x.im -3)))))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 x.re (*.f64 x.im x.re)))
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 0)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) 1)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 2)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (*.f64 8 (*.f64 x.re (*.f64 x.im x.re))) 4)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4) 8)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4)) 16)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4))) 32)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) 4)))) 64)
(*.f64 x.re (*.f64 (+.f64 x.re x.re) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 2 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 (+.f64 x.re x.re) (*.f64 x.re x.im))
(-.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 0)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 1 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 1)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 2 (*.f64 x.im (/.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2)))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.im x.re)) (*.f64 (+.f64 x.im x.re) (*.f64 x.im (/.f64 (-.f64 x.im x.re) -2)))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 x.im (*.f64 (/.f64 (-.f64 x.im x.re) -2) (+.f64 x.re x.im)))))
(*.f64 2 (+.f64 (*.f64 x.re (*.f64 x.re x.im)) (*.f64 (/.f64 (-.f64 x.im x.re) -2) (*.f64 (+.f64 x.re x.im) x.im))))
(*.f64 2 (*.f64 x.im (+.f64 (*.f64 (+.f64 x.re x.im) (/.f64 (-.f64 x.im x.re) -2)) (*.f64 x.re x.re))))
(*.f64 2 (*.f64 x.im (+.f64 (*.f64 x.re x.re) (*.f64 (+.f64 x.re x.im) (/.f64 (-.f64 x.im x.re) -2)))))
(*.f64 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)) 1/2)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 4 (/.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4) 1/4)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 1/2 (+.f64 (*.f64 4 (*.f64 x.re (*.f64 x.im x.re))) (*.f64 (+.f64 x.im x.re) (*.f64 (-.f64 x.re x.im) (+.f64 x.im x.im)))))
(*.f64 1/2 (+.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 4)) (*.f64 (+.f64 x.re x.im) (*.f64 (+.f64 x.im x.im) (-.f64 x.re x.im)))))
(*.f64 1/2 (+.f64 (*.f64 (*.f64 x.re x.im) (*.f64 4 x.re)) (*.f64 (+.f64 x.re x.im) (*.f64 (+.f64 x.im x.im) (-.f64 x.re x.im)))))
(*.f64 1/2 (+.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 4))) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (+.f64 x.im x.im))))
(*.f64 1/2 (+.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 4))) (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (+.f64 x.im x.im))))
(*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) x.im)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 (*.f64 2 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (*.f64 x.im 1/2))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(*.f64 (*.f64 x.im (/.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2)) 2)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(/.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 1)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(/.f64 (*.f64 (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (+.f64 x.im x.im)) 2)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(/.f64 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4) 4)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4)) 8)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))) 16)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) 4)))) 32)
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))))

eval68.0ms (0.5%)

Compiler

Compiled 4942 to 2370 computations (52% saved)

prune45.0ms (0.3%)

Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New2556261
Fresh000
Picked101
Done156
Total25711268
Error
0.0b
Counts
268 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
17.9b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
23.4b
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
17.9b
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
17.9b
(*.f64 (+.f64 x.re x.re) (+.f64 (*.f64 x.re x.im) (*.f64 x.im (*.f64 (+.f64 x.re x.im) 1/2))))
17.9b
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
17.9b
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
5.7b
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
23.3b
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
23.3b
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
29.8b
(neg.f64 (pow.f64 x.im 3))
Compiler

Compiled 228 to 136 computations (40.4% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 13 computations (48% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite85.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1356×rational.json-simplify-35
1332×bool.json-1
1332×bool.json-2
1294×rational.json-1
1294×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
19238
225138
353738
4110638
5250138
6520338
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(+.f64 x.im (*.f64 x.re 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 1/2))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x.im (*.f64 x.re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im (*.f64 x.re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x.im (*.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x.re 6) (+.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.im (*.f64 x.re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.im (*.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.im (*.f64 x.re 3)))))))

simplify319.0ms (2.5%)

Algorithm
egg-herbie
Rules
4850×rational.json-simplify-41
2552×rational.json-simplify-2
2310×rational.json-simplify-35
1000×rational.json-simplify-43
982×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0871567
11901567
25201567
319321567
438961567
543711567
645611567
747081567
848331567
959631567
1060811567
1161991567
1263171567
1363171567
1464351567
Stop Event
node limit
Counts
79 → 42
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 x.re)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
x.im
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
x.im
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
x.im
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(*.f64 3 x.re)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(*.f64 3 x.re)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(+.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 1/2))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 1/2))))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re))) 2)
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 4))) 4)
(/.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)
(-.f64 (+.f64 x.im (*.f64 x.re 3)) 0)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) 1)
(*.f64 1 (+.f64 x.im (*.f64 x.re 3)))
(*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))
(*.f64 2 (+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2)))
(*.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 1/2)
(*.f64 4 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 4))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 1/4)
(*.f64 1/2 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))))
(*.f64 1/2 (+.f64 (*.f64 x.re 6) (+.f64 x.im x.im)))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4))
(*.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 4)
(/.f64 (+.f64 x.im (*.f64 x.re 3)) 1)
(/.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 2)
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 4)
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8)))) 64)
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 x.re)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
x.im
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
x.im
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
x.im
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 3 x.re)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 3 x.re)
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 3 x.re) x.im)
(+.f64 x.im (*.f64 3 x.re))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(+.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 1/2))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 1/2))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re))) 2)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 4))) 4)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8) 8)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (+.f64 x.im (*.f64 3 x.re)) (*.f64 x.re x.im))
(-.f64 (+.f64 x.im (*.f64 x.re 3)) 0)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) 1)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 1 (+.f64 x.im (*.f64 x.re 3)))
(+.f64 x.im (*.f64 3 x.re))
(*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))
(+.f64 x.im (*.f64 3 x.re))
(*.f64 2 (+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2)))
(*.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 1/2)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 4 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 4))
(+.f64 x.im (*.f64 3 x.re))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 1/4)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 1/2 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))))
(+.f64 x.im (*.f64 3 x.re))
(*.f64 1/2 (+.f64 (*.f64 x.re 6) (+.f64 x.im x.im)))
(+.f64 x.im (*.f64 3 x.re))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) 2)
(+.f64 x.im (*.f64 3 x.re))
(*.f64 1/4 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4))
(+.f64 x.im (*.f64 3 x.re))
(*.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 4)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (+.f64 x.im (*.f64 x.re 3)) 1)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 2)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4) 4)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8) 8)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8)) 16)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8))) 32)
(+.f64 x.im (*.f64 3 x.re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 8)))) 64)
(+.f64 x.im (*.f64 3 x.re))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x.im (*.f64 x.re 3))
0.1b
(*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re)
5.3b
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
Compiler

Compiled 29 to 17 computations (41.4% saved)

series2.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite81.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1356×rational.json-simplify-35
1332×bool.json-1
1332×bool.json-2
1294×rational.json-1
1294×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0944
19244
225144
353844
4110744
5250444
6520444
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re 1/2)) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))))

simplify469.0ms (3.6%)

Algorithm
egg-herbie
Rules
3040×rational.json-simplify-53
2894×rational.json-simplify-35
2200×rational.json-simplify-2
1400×rational.json-simplify-1
932×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0671756
11671756
23561756
39201756
422121756
537461756
639721756
741391756
842801756
944201756
1052401756
1158391756
1258601756
1358621756
1458641756
1558641756
1660001756
1761361756
1862721756
Stop Event
node limit
Counts
70 → 31
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re))) 2)
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4))) 4)
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)
(+.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)
(+.f64 0 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re 1/2)) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re 1/2)))
(-.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)
(/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re)) 2)
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4)) 4)
(/.f64 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8)))) 64)
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im (*.f64 x.re 1/2))))
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re))) 2)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4))) 4)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8) 8)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 3 x.re)) x.im))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(+.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(+.f64 0 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re 1/2)) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re 1/2)))
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(-.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.re x.re)) 2)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4)) 4)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8) 8)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8)) 16)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8))) 32)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 8)))) 64)
(*.f64 x.re (+.f64 x.im (*.f64 3 x.re)))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 29 to 17 computations (41.4% saved)

series2.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite82.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1336×rational.json-simplify-35
1324×bool.json-1
1324×bool.json-2
1286×rational.json-1
1286×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0944
19044
223744
350944
4107244
5242844
6507744
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2)) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.im x.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))))

simplify508.0ms (3.9%)

Algorithm
egg-herbie
Rules
3764×rational.json-simplify-35
3156×rational.json-simplify-2
1412×rational.json-simplify-1
1292×rational.json-simplify-53
1266×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0741768
11791768
23731768
38841768
426611768
546791768
650041768
752471768
854511768
954551768
1054551768
1159401768
1259601768
1361551768
1463501768
1565431768
1667361768
1769291768
1871221768
Stop Event
node limit
Counts
70 → 37
Calls
Call 1
Inputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(pow.f64 x.im 2)
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(pow.f64 x.im 2)
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(pow.f64 x.im 2)
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))
(+.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2))))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))))) 2)
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 4))) 4)
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)
(+.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 0)
(+.f64 0 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2)) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2)))
(-.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 0)
(/.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 1)
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.im x.im)) 2)
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4)) 4)
(/.f64 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8)))) 64)
Outputs
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 3 x.im))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(pow.f64 x.im 2)
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(pow.f64 x.im 2)
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(pow.f64 x.im 2)
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 3 x.im))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.re (*.f64 3 x.im))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 3 (*.f64 x.re x.im)))
(+.f64 (pow.f64 x.im 2) (*.f64 x.re (*.f64 3 x.im)))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))))) 2)
(*.f64 (*.f64 x.re (+.f64 x.im (+.f64 x.im (*.f64 x.re 6)))) (/.f64 x.im 2))
(*.f64 (*.f64 x.re (+.f64 (*.f64 x.re 6) (+.f64 x.im x.im))) (/.f64 x.im 2))
(*.f64 x.re (*.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) (/.f64 x.im 2)))
(*.f64 x.re (*.f64 x.im (/.f64 (+.f64 x.im (+.f64 x.im (*.f64 x.re 6))) 2)))
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re (*.f64 x.im 4))) 4)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8) 8)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)) 16)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) 32)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 8)))) 64)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 3 x.re))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 0)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(+.f64 0 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2)) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.im 1/2)))
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(-.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 0)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 1)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (+.f64 x.im x.im)) 2)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) 4)) 4)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8) 8)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8)) 16)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8))) 32)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) 8)))) 64)
(*.f64 x.im (+.f64 x.im (*.f64 3 x.re)))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 44 to 8 computations (81.8% saved)

series3.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite104.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1010×rational.json-simplify-2
998×bool.json-1
998×bool.json-2
970×rational.json-1
970×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081
110069
226269
357757
4126857
5308357
6734357
Stop Event
node limit
Counts
3 → 55
Calls
Call 1
Inputs
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re)))
(*.f64 x.re (+.f64 x.re x.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))) (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.im (*.f64 x.re 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re x.re) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re x.re) (/.f64 (+.f64 x.im (*.f64 x.re 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re x.re) (+.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re 4) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im (*.f64 x.re 3)) x.re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 1/2 (*.f64 x.re 1/2)) (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re 8) (*.f64 1/8 (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) (+.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re 1/2) (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4) (*.f64 x.re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 2) (+.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)) (+.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)) x.re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (+.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.re (+.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (+.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (+.f64 x.im x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (+.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (+.f64 x.im x.re)) (*.f64 x.re (+.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.re (+.f64 x.im x.re)) (*.f64 x.re (+.f64 x.im x.re)))))))

simplify109.0ms (0.8%)

Algorithm
egg-herbie
Rules
1542×rational.json-simplify-2
1232×rational.json-simplify-61
1096×rational.json-simplify-51
934×rational.json-simplify-35
886×rational.json-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01313001
12902989
26242989
318842989
443432989
577712989
Stop Event
node limit
Counts
127 → 88
Calls
Call 1
Inputs
(*.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 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 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 x.re (pow.f64 x.im 2)))
(*.f64 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 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 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 x.re (pow.f64 x.im 2)))
(*.f64 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 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 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 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(*.f64 3 (pow.f64 x.re 2))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(*.f64 x.re x.im)
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(*.f64 x.re x.im)
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(*.f64 x.re x.im)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(pow.f64 x.re 2)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(pow.f64 x.re 2)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(pow.f64 x.re 2)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(*.f64 x.re x.im)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(*.f64 x.re x.im)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))) (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.im (*.f64 x.re 3)))) 2)
(/.f64 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))) 4)
(/.f64 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))))) 32)
(-.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.re x.re) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))
(*.f64 (+.f64 x.re x.re) (/.f64 (+.f64 x.im (*.f64 x.re 3)) 2))
(*.f64 (+.f64 x.re x.re) (+.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)))
(*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)
(*.f64 1 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)))
(*.f64 2 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2))))
(*.f64 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 1/2)
(*.f64 (*.f64 x.re 4) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re)
(*.f64 4 (/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 4))
(*.f64 4 (*.f64 (/.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))
(*.f64 4 (*.f64 (*.f64 1/2 (*.f64 x.re 1/2)) (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re 8) (*.f64 1/8 (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))) 1/4)
(*.f64 1/2 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re 1/2))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) (+.f64 x.re x.re))
(*.f64 (*.f64 x.re 1/2) (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)) 2)
(*.f64 1/4 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4) (*.f64 x.re 4))
(*.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 2) (+.f64 x.re x.re))
(*.f64 (/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 4) 4)
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)) (+.f64 x.re x.re))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2))) 2)
(*.f64 (+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)) x.re)
(/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)
(/.f64 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 2)
(/.f64 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) 32)
(+.f64 (*.f64 x.re (+.f64 x.im x.re)) 0)
(+.f64 0 (*.f64 x.re (+.f64 x.im x.re)))
(+.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)))
(-.f64 (*.f64 x.re (+.f64 x.im x.re)) 0)
(/.f64 (*.f64 x.re (+.f64 x.im x.re)) 1)
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 2)) 2)
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4))))) 32)
Outputs
(*.f64 (+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2)) x.im)
(*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 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 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) x.im) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(*.f64 x.re x.im)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 (pow.f64 x.re 2) 3)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(*.f64 3 (pow.f64 x.re 2))
(*.f64 (pow.f64 x.re 2) 3)
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 3 (pow.f64 x.re 2)) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (*.f64 (pow.f64 x.re 2) 3))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(*.f64 x.re x.im)
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(*.f64 x.re x.im)
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2)))
(+.f64 (*.f64 2 (pow.f64 x.re 2)) (+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im)))
(+.f64 (+.f64 (pow.f64 x.re 2) (*.f64 2 (pow.f64 x.re 2))) (*.f64 x.re x.im))
(+.f64 (pow.f64 x.re 2) (+.f64 (*.f64 2 (pow.f64 x.re 2)) (*.f64 x.re x.im)))
(*.f64 x.re x.im)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(pow.f64 x.re 2)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(pow.f64 x.re 2)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(pow.f64 x.re 2)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(*.f64 x.re x.im)
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.re x.im) (pow.f64 x.re 2))
(+.f64 (pow.f64 x.re 2) (*.f64 x.re x.im))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(+.f64 0 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(+.f64 (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))) (*.f64 x.im (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))))
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(-.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.im (*.f64 x.re 3)))) 2)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))) 4)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) 8)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) 16)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) (*.f64 2 (*.f64 2 (*.f64 x.im (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))))) 32)
(*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.im))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (*.f64 x.re x.im) (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(-.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 0)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.re x.re) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.re x.re) (/.f64 (+.f64 x.im (*.f64 x.re 3)) 2))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.re x.re) (+.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)))
(*.f64 (+.f64 x.re x.re) (+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im))))
(*.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 1 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 2 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2))))
(*.f64 2 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))))
(*.f64 2 (*.f64 x.re (+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))))
(*.f64 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 1/2)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 x.re 4) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 4 (/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 4))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 4 (*.f64 (/.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 4 (*.f64 (*.f64 1/2 (*.f64 x.re 1/2)) (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 x.re 8) (*.f64 1/8 (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))) 1/4)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 1/2 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) (*.f64 x.re 1/2))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) (+.f64 x.re x.re))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 x.re 1/2) (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 x.re (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)) 2)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 1/4 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4) (*.f64 x.re 4))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 2) (+.f64 x.re x.re))
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 4) 4)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)) (+.f64 x.re x.re))
(*.f64 (+.f64 x.re x.re) (+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im))))
(*.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2))) 2)
(*.f64 2 (+.f64 (*.f64 x.re x.re) (*.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))))
(*.f64 2 (*.f64 x.re (+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))))
(*.f64 (+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2) (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)) x.re)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(/.f64 (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))) 1)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(/.f64 (*.f64 x.re (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 2)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(/.f64 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))) 4)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))) 8)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) 16)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re 4) (+.f64 x.im (*.f64 x.re 3)))))) 32)
(*.f64 x.re (+.f64 x.im (*.f64 x.re 3)))
(+.f64 (*.f64 x.re (+.f64 x.im x.re)) 0)
(*.f64 x.re (+.f64 x.re x.im))
(+.f64 0 (*.f64 x.re (+.f64 x.im x.re)))
(*.f64 x.re (+.f64 x.re x.im))
(+.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)) (*.f64 x.re (*.f64 (+.f64 x.im x.re) 1/2)))
(*.f64 x.re (+.f64 x.re x.im))
(-.f64 (*.f64 x.re (+.f64 x.im x.re)) 0)
(*.f64 x.re (+.f64 x.re x.im))
(/.f64 (*.f64 x.re (+.f64 x.im x.re)) 1)
(*.f64 x.re (+.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 2)) 2)
(*.f64 x.re (+.f64 x.re x.im))
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)) 4)
(*.f64 x.re (+.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4))) 8)
(*.f64 x.re (+.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)))) 16)
(*.f64 x.re (+.f64 x.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4)))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 x.im x.re) 4))))) 32)
(*.f64 x.re (+.f64 x.re x.im))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2))
0.2b
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
Compiler

Compiled 41 to 15 computations (63.4% saved)

series6.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite86.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1664×bool.json-1
1664×bool.json-2
1628×rational.json-1
1628×rational.json-2
1068×bool.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01156
111156
229456
364750
4137844
5322344
6644444
Stop Event
node limit
Counts
2 → 27
Calls
Call 1
Inputs
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
(+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 1/2 (*.f64 x.re x.im))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 1/2 (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.im (*.f64 x.re 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x.im (*.f64 x.re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.im (*.f64 x.re 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))) (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))))))

simplify417.0ms (3.2%)

Algorithm
egg-herbie
Rules
4044×rational.json-simplify-41
3162×rational.json-simplify-35
2184×rational.json-simplify-2
1036×rational.json-simplify-43
874×rational.json-simplify-49
Iterations

Useful iterations: 16 (0.0ms)

IterNodesCost
0822001
11751791
23451791
37631791
428671791
539091791
642121791
744381791
846251791
948081791
1056051791
1156111791
1256111791
1357841791
1459571791
1561301791
1663031725
Stop Event
node limit
Counts
75 → 60
Calls
Call 1
Inputs
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(*.f64 1/2 x.im)
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(*.f64 3/2 x.re)
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(*.f64 3/2 x.re)
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 1/2 x.re) x.re)
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(*.f64 1/2 x.im)
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(*.f64 1/2 x.im)
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(+.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 1/2 (*.f64 x.re x.im))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 1/2 (*.f64 x.re x.im))))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.im (*.f64 x.re 3)))) 2)
(/.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)))) 32)
(-.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 0)
(*.f64 1/2 (+.f64 x.im (*.f64 x.re 3)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 1)
(*.f64 1 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))
(*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)
(*.f64 4 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 8))
(*.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) 1/4)
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4) 2)
(*.f64 1/4 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))
(*.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 8) 4)
(/.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 1)
(/.f64 (+.f64 x.im (*.f64 x.re 3)) 2)
(/.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) 4)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))) (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))))) 32)
Outputs
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(+.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 3 (*.f64 x.im (pow.f64 x.re 2))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 x.im (*.f64 (pow.f64 x.re 2) 3)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (pow.f64 x.re 2) (*.f64 x.im 3)))
(*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im)))
(*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2)))))
(*.f64 2 (*.f64 (+.f64 x.re (*.f64 x.re 1/2)) (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2)))))
(*.f64 x.re (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2)))))
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 (+.f64 (*.f64 1/2 x.re) x.re) x.im))) (*.f64 x.re (pow.f64 x.im 2)))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 2 (*.f64 x.re (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 2 (*.f64 x.im (+.f64 x.re (*.f64 x.re 1/2))))))
(*.f64 x.re (+.f64 (pow.f64 x.im 2) (*.f64 x.im (*.f64 2 (+.f64 x.re (*.f64 x.re 1/2))))))
(+.f64 (*.f64 x.re (pow.f64 x.im 2)) (*.f64 (*.f64 x.re 3) (*.f64 x.re x.im)))
(*.f64 1/2 x.im)
(*.f64 x.im 1/2)
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(*.f64 3/2 x.re)
(*.f64 x.re 3/2)
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(*.f64 3/2 x.re)
(*.f64 x.re 3/2)
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 3/2 x.re) (*.f64 1/2 x.im))
(+.f64 (*.f64 x.im 1/2) (*.f64 x.re 3/2))
(+.f64 (*.f64 1/2 x.re) x.re)
(+.f64 x.re (*.f64 x.re 1/2))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 1/2 x.im)
(*.f64 x.im 1/2)
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 1/2 x.im)
(*.f64 x.im 1/2)
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 1/2 x.re) (+.f64 x.re (*.f64 1/2 x.im)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(+.f64 0 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(+.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 1/2 (*.f64 x.re x.im))) (*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 1/2 (*.f64 x.re x.im))))
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(-.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 0)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 1)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 x.re (*.f64 (+.f64 x.im x.im) (+.f64 x.im (*.f64 x.re 3)))) 2)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4) 4)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)) 8)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) 16)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3)))) 4)))) 32)
(*.f64 x.re (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))))
(*.f64 x.im (*.f64 x.re (+.f64 x.im (*.f64 x.re 3))))
(-.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 0)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 1/2 (+.f64 x.im (*.f64 x.re 3)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 1)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 1 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 2 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/2)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 4 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 8))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) 1/4)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 (*.f64 (+.f64 x.im (*.f64 x.re 3)) 1/4) 2)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 1/4 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(*.f64 (/.f64 (+.f64 x.im (*.f64 x.re 3)) 8) 4)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(/.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) 1)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(/.f64 (+.f64 x.im (*.f64 x.re 3)) 2)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(/.f64 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))) 4)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))) 8)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))) 16)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3))))) (*.f64 2 (*.f64 2 (*.f64 2 (+.f64 x.im (*.f64 x.re 3)))))) 32)
(+.f64 (*.f64 x.re 1/2) (+.f64 x.re (*.f64 x.im 1/2)))
(+.f64 x.re (*.f64 1/2 (+.f64 x.re x.im)))

eval130.0ms (1%)

Compiler

Compiled 4038 to 2500 computations (38.1% saved)

prune150.0ms (1.2%)

Pruning

14 alts after pruning (7 fresh and 7 done)

PrunedKeptTotal
New2997306
Fresh101
Picked101
Done279
Total30314317
Error
0.0b
Counts
317 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
17.9b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
23.4b
(*.f64 (pow.f64 x.re 2) (*.f64 x.im 3))
17.9b
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
18.0b
(*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)
18.0b
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
18.0b
(*.f64 (*.f64 x.im (*.f64 3 x.re)) x.re)
46.5b
(*.f64 (*.f64 x.im x.im) x.re)
5.7b
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
23.3b
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
23.4b
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
46.5b
(*.f64 x.im (*.f64 x.re x.im))
18.0b
(*.f64 2 (*.f64 (+.f64 x.re (*.f64 x.re 1/2)) (*.f64 x.re x.im)))
29.8b
(neg.f64 (pow.f64 x.im 3))
Compiler

Compiled 220 to 137 computations (37.7% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 18 to 9 computations (50% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite127.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1488×bool.json-1
1488×bool.json-2
1448×rational.json-1
1448×rational.json-2
1448×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
18219
223619
353019
4109719
5252719
6556319
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 x.re (*.f64 x.re x.im))) (*.f64 x.re (*.f64 x.re x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3/2))) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12))) (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))))))))

simplify159.0ms (1.2%)

Algorithm
egg-herbie
Rules
1404×rational.json-simplify-2
1244×rational.json-simplify-35
936×rational.json-simplify-46
818×rational.json-simplify-55
780×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044665
1105665
2238665
3577665
41716665
53000665
63812665
75039665
87417665
Stop Event
node limit
Counts
35 → 16
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 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 0)
(+.f64 0 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 x.re x.im))) (*.f64 x.re (*.f64 x.re x.im)))
(+.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3/2))) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3/2))))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 0)
(/.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 1)
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 6)) 2)
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 12)) 4)
(/.f64 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12))) (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12)))) 32)
Outputs
(*.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 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 0)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(+.f64 0 (*.f64 3 (*.f64 x.re (*.f64 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 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(+.f64 (*.f64 2 (*.f64 x.re (*.f64 x.re x.im))) (*.f64 x.re (*.f64 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 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(+.f64 (*.f64 x.re (*.f64 x.re (*.f64 x.im 3/2))) (*.f64 x.re (*.f64 x.re (*.f64 x.im 3/2))))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 0)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(/.f64 (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) 1)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 6)) 2)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 12)) 4)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(/.f64 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12)) 8)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12))) 16)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12))) (*.f64 2 (*.f64 (+.f64 x.re x.re) (*.f64 (*.f64 x.re x.im) 12)))) 32)
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.re (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.re (*.f64 x.re (*.f64 3 x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 12 to 4 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite116.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1124×rational.json-simplify-35
946×bool.json-1
946×bool.json-2
924×rational.json-1
924×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16313
219113
342013
490113
5268813
6792913
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.re x.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 x.im (*.f64 x.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 (/.f64 (+.f64 x.im x.im) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 (/.f64 (*.f64 x.im 4) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 (/.f64 (*.f64 4 (fabs.f64 x.im)) (*.f64 x.im (*.f64 x.im (fabs.f64 x.im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 (/.f64 (*.f64 x.im 8) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.im x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im x.im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.re x.re) (/.f64 2 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (fabs.f64 x.im)) (/.f64 1 (fabs.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x.re) (-.f64 0 (/.f64 1 (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.im x.re)) (*.f64 x.im (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.im x.re)) (*.f64 x.im (*.f64 x.im x.re)))))))

simplify160.0ms (1.2%)

Algorithm
egg-herbie
Rules
1222×rational.json-simplify-41
1122×rational.json-simplify-2
718×rational.json-simplify-38
706×rational.json-simplify-35
688×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069546
1228546
2720546
33165546
46360546
Stop Event
node limit
Counts
42 → 21
Calls
Call 1
Inputs
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.im x.re)))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 x.im (*.f64 x.im 1/2))))
(-.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
(/.f64 x.re (/.f64 (/.f64 (+.f64 x.im x.im) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 2))
(/.f64 x.re (/.f64 (/.f64 (*.f64 x.im 4) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 4))
(/.f64 x.re (/.f64 (/.f64 (*.f64 4 (fabs.f64 x.im)) (*.f64 x.im (*.f64 x.im (fabs.f64 x.im)))) 4))
(/.f64 x.re (/.f64 (/.f64 (*.f64 x.im 8) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 8))
(/.f64 (*.f64 x.im (*.f64 x.im x.re)) 1)
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im x.im))) 2)
(/.f64 (+.f64 x.re x.re) (/.f64 2 (*.f64 x.im x.im)))
(/.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im 4)) 4)
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8) 8)
(/.f64 (*.f64 x.re (fabs.f64 x.im)) (/.f64 1 (fabs.f64 x.im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8))) 32)
(/.f64 (neg.f64 x.re) (-.f64 0 (/.f64 1 (*.f64 x.im x.im))))
Outputs
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(+.f64 0 (*.f64 x.im (*.f64 x.im x.re)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(+.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.im 1/2))) (*.f64 x.re (*.f64 x.im (*.f64 x.im 1/2))))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(-.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 (/.f64 (+.f64 x.im x.im) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 2))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 (/.f64 (*.f64 x.im 4) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 4))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 (/.f64 (*.f64 4 (fabs.f64 x.im)) (*.f64 x.im (*.f64 x.im (fabs.f64 x.im)))) 4))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 (/.f64 (*.f64 x.im 8) (*.f64 (*.f64 x.im x.im) (/.f64 (*.f64 x.im x.im) x.im))) 8))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 x.im (*.f64 x.im x.re)) 1)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.im x.im))) 2)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (+.f64 x.re x.re) (/.f64 2 (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im 4)) 4)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8) 8)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 x.re (fabs.f64 x.im)) (/.f64 1 (fabs.f64 x.im)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8)) 16)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.im x.re)) 8))) 32)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (neg.f64 x.re) (-.f64 0 (/.f64 1 (*.f64 x.im x.im))))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.6b
(*.f64 (*.f64 x.im x.im) x.re)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series0.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite67.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1590×bool.json-1
1590×bool.json-2
1566×rational.json-1
1566×rational.json-2
1566×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16213
219413
347913
4161013
5529113
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (*.f64 x.im x.im) x.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 1 (*.f64 x.im x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 (/.f64 (+.f64 x.im x.im) (*.f64 (*.f64 x.im (*.f64 x.im x.im)) (/.f64 x.im x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x.re (/.f64 (/.f64 (*.f64 x.im 4) (*.f64 (*.f64 x.im (*.f64 x.im x.im)) (/.f64 x.im x.im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.im x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.im (+.f64 x.re x.re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x.re x.re) (*.f64 2 (/.f64 1 (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (fabs.f64 x.im)) (/.f64 1 (fabs.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4))) (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x.re) (-.f64 0 (/.f64 1 (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 x.im x.re)) (*.f64 x.im (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 x.im x.re)) (*.f64 x.im (*.f64 x.im x.re)))))))

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
1228×rational.json-simplify-2
1082×rational.json-simplify-54
1078×rational.json-simplify-40
862×rational.json-simplify-41
476×rational.json-simplify-44
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053494
1161494
2484494
32326494
45673494
Stop Event
node limit
Counts
38 → 17
Calls
Call 1
Inputs
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(+.f64 0 (*.f64 x.im (*.f64 x.im x.re)))
(-.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
(/.f64 x.re (/.f64 (/.f64 (+.f64 x.im x.im) (*.f64 (*.f64 x.im (*.f64 x.im x.im)) (/.f64 x.im x.im))) 2))
(/.f64 x.re (/.f64 (/.f64 (*.f64 x.im 4) (*.f64 (*.f64 x.im (*.f64 x.im x.im)) (/.f64 x.im x.im))) 4))
(/.f64 (*.f64 x.im (*.f64 x.im x.re)) 1)
(/.f64 (*.f64 x.im (*.f64 x.im (+.f64 x.re x.re))) 2)
(/.f64 (+.f64 x.re x.re) (*.f64 2 (/.f64 1 (*.f64 x.im x.im))))
(/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4)) 4)
(/.f64 (*.f64 x.re (fabs.f64 x.im)) (/.f64 1 (fabs.f64 x.im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4))) (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4)))) 16)
(/.f64 (neg.f64 x.re) (-.f64 0 (/.f64 1 (*.f64 x.im x.im))))
Outputs
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(*.f64 x.re (pow.f64 x.im 2))
(+.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(+.f64 0 (*.f64 x.im (*.f64 x.im x.re)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(-.f64 (*.f64 x.im (*.f64 x.im x.re)) 0)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 (/.f64 (+.f64 x.im x.im) (*.f64 (*.f64 x.im (*.f64 x.im x.im)) (/.f64 x.im x.im))) 2))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 x.re (/.f64 (/.f64 (*.f64 x.im 4) (*.f64 (*.f64 x.im (*.f64 x.im x.im)) (/.f64 x.im x.im))) 4))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 x.im (*.f64 x.im x.re)) 1)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 x.im (*.f64 x.im (+.f64 x.re x.re))) 2)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (+.f64 x.re x.re) (*.f64 2 (/.f64 1 (*.f64 x.im x.im))))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4)) 4)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 x.re (fabs.f64 x.im)) (/.f64 1 (fabs.f64 x.im)))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4))) 8)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4))) (*.f64 2 (*.f64 (*.f64 x.im x.im) (*.f64 x.re 4)))) 16)
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))
(/.f64 (neg.f64 x.re) (-.f64 0 (/.f64 1 (*.f64 x.im x.im))))
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 x.re (*.f64 x.im x.im))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 12 computations (40% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite87.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1894×bool.json-1
1894×bool.json-2
1428×bool.json-3
918×rational.json-simplify-2
792×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
18232
223332
351832
4109732
5260532
6636232
Stop Event
node limit
Counts
2 → 23
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 (*.f64 3 x.re) x.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 0)))) (#(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 (*.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 (*.f64 x.im x.re) (*.f64 x.re 3/2)) (*.f64 (*.f64 x.im x.re) (*.f64 x.re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 12))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im 3) (/.f64 1 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12))) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x.re x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 x.re x.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.re 3/2)) (*.f64 x.re (*.f64 x.re 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 x.re x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 x.re x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.re 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.re 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x.re (*.f64 x.re 12))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12)))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 x.re x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 x.re x.re)) (*.f64 3 (*.f64 x.re x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 x.re x.re)) (*.f64 3 (*.f64 x.re x.re)))))))

simplify81.0ms (0.6%)

Algorithm
egg-herbie
Rules
1054×rational.json-simplify-43
1030×rational.json-simplify-41
894×rational.json-simplify-49
742×rational.json-simplify-19
732×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068983
1173983
2387983
31042983
44190983
56563983
Stop Event
node limit
Counts
59 → 31
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 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 0)
(+.f64 0 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) (*.f64 x.im (*.f64 x.re x.re)))
(+.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.re 3/2)) (*.f64 (*.f64 x.im x.re) (*.f64 x.re 3/2)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 0)
(/.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 1)
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 6))) 2)
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 12))) 4)
(/.f64 (*.f64 x.im 3) (/.f64 1 (*.f64 x.re x.re)))
(/.f64 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12))) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12)))) 32)
(+.f64 (*.f64 3 (*.f64 x.re x.re)) 0)
(+.f64 0 (*.f64 3 (*.f64 x.re x.re)))
(+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 x.re x.re))
(+.f64 (*.f64 x.re (*.f64 x.re 3/2)) (*.f64 x.re (*.f64 x.re 3/2)))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) 0)
(/.f64 (*.f64 3 (*.f64 x.re x.re)) 1)
(/.f64 (*.f64 x.re (*.f64 x.re 6)) 2)
(/.f64 (*.f64 x.re (*.f64 x.re 12)) 4)
(/.f64 (*.f64 2 (*.f64 x.re (*.f64 x.re 12))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12)))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12))))) 32)
Outputs
(*.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 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 0)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(+.f64 0 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(+.f64 (*.f64 x.im (*.f64 x.re (+.f64 x.re x.re))) (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(+.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.re 3/2)) (*.f64 (*.f64 x.im x.re) (*.f64 x.re 3/2)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(-.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 0)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (*.f64 3 (*.f64 x.re x.re))) 1)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 6))) 2)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 12))) 4)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (*.f64 x.im 3) (/.f64 1 (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12)) 8)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12))) 16)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12))) (*.f64 2 (*.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.re 12)))) 32)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 x.re (*.f64 3 (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 3 (*.f64 x.re x.re)))
(*.f64 x.im (*.f64 x.re (*.f64 3 x.re)))
(+.f64 (*.f64 3 (*.f64 x.re x.re)) 0)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(+.f64 0 (*.f64 3 (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(+.f64 (*.f64 x.re (+.f64 x.re x.re)) (*.f64 x.re x.re))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(+.f64 (*.f64 x.re (*.f64 x.re 3/2)) (*.f64 x.re (*.f64 x.re 3/2)))
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(-.f64 (*.f64 3 (*.f64 x.re x.re)) 0)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(/.f64 (*.f64 3 (*.f64 x.re x.re)) 1)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(/.f64 (*.f64 x.re (*.f64 x.re 6)) 2)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(/.f64 (*.f64 x.re (*.f64 x.re 12)) 4)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(/.f64 (*.f64 2 (*.f64 x.re (*.f64 x.re 12))) 8)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12)))) 16)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12)))) (*.f64 2 (*.f64 2 (*.f64 x.re (*.f64 x.re 12))))) 32)
(*.f64 3 (*.f64 x.re x.re))
(*.f64 x.re (*.f64 3 x.re))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 12 computations (40% saved)

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite76.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1426×bool.json-1
1426×bool.json-2
1386×rational.json-1
1386×rational.json-2
1386×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
18232
223632
352732
4108632
5250332
6544432
Stop Event
node limit
Counts
2 → 23
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 3 x.re))
(*.f64 (*.f64 x.im (*.f64 3 x.re)) x.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im (*.f64 3 x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x.im (*.f64 3 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.im 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 x.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.im x.re) 3/2) (*.f64 (*.f64 x.im x.re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x.im (*.f64 3 x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 3 x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x.im (*.f64 3 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x.im (*.f64 3 x.re)) (*.f64 x.im (*.f64 3 x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x.im (*.f64 3 x.re)) (*.f64 x.im (*.f64 3 x.re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x.re (*.f64 x.im x.re)) 3/2) (*.f64 (*.f64 x.re (*.f64 x.im x.re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 12))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8)) (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 3 (*.f64 x.re (*.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))))))))

simplify96.0ms (0.7%)

Algorithm
egg-herbie
Rules
1242×rational.json-simplify-49
1236×rational.json-simplify-35
1070×rational.json-simplify-46
928×rational.json-simplify-55
908×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0661133
11551133
23551133
39381133
425971133
543071133
661861133
Stop Event
node limit
Counts
71 → 33
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 (*.f64 x.im (*.f64 3 x.re)) 0)
(+.f64 0 (*.f64 x.im (*.f64 3 x.re)))
(+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))
(+.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.im x.re))
(+.f64 (*.f64 (*.f64 x.im x.re) 3/2) (*.f64 (*.f64 x.im x.re) 3/2))
(-.f64 (*.f64 x.im (*.f64 3 x.re)) 0)
(/.f64 (*.f64 x.im (*.f64 3 x.re)) 1)
(/.f64 (*.f64 x.im (*.f64 x.re 6)) 2)
(/.f64 (*.f64 x.im (*.f64 x.re 12)) 4)
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4))) 32)
(+.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 0)
(+.f64 0 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 x.im x.re)))
(+.f64 (*.f64 (*.f64 x.re (*.f64 x.im x.re)) 3/2) (*.f64 (*.f64 x.re (*.f64 x.im x.re)) 3/2))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 0)
(/.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 1)
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 6))) 2)
(/.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 12))) 4)
(/.f64 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8)) (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8))) 32)
Outputs
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
(*.f64 3 (*.f64 x.im (pow.f64 x.re 2)))
(*.f64 x.im (*.f64 (pow.f64 x.re 2) 3))
(*.f64 x.im (*.f64 3 (pow.f64 x.re 2)))
(*.f64 (pow.f64 x.re 2) (*.f64 3 x.im))
(+.f64 (*.f64 x.im (*.f64 3 x.re)) 0)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 0 (*.f64 x.im (*.f64 3 x.re)))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (*.f64 x.im x.re) (*.f64 x.im (+.f64 x.re x.re)))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (*.f64 x.im (+.f64 x.re x.re)) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (*.f64 (*.f64 x.im x.re) 3/2) (*.f64 (*.f64 x.im x.re) 3/2))
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(-.f64 (*.f64 x.im (*.f64 3 x.re)) 0)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(/.f64 (*.f64 x.im (*.f64 3 x.re)) 1)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(/.f64 (*.f64 x.im (*.f64 x.re 6)) 2)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(/.f64 (*.f64 x.im (*.f64 x.re 12)) 4)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(/.f64 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4) 8)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4)) 16)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4)) (*.f64 2 (*.f64 (*.f64 x.im (*.f64 x.re 6)) 4))) 32)
(*.f64 x.im (*.f64 3 x.re))
(*.f64 3 (*.f64 x.re x.im))
(+.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 0)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(+.f64 0 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(+.f64 (*.f64 x.re (*.f64 x.im (+.f64 x.re x.re))) (*.f64 x.re (*.f64 x.im x.re)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(+.f64 (*.f64 (*.f64 x.re (*.f64 x.im x.re)) 3/2) (*.f64 (*.f64 x.re (*.f64 x.im x.re)) 3/2))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(-.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 0)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(/.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 1)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(/.f64 (*.f64 x.im (*.f64 x.re (*.f64 x.re 6))) 2)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(/.f64 (*.f64 x.re (*.f64 x.im (*.f64 x.re 12))) 4)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(/.f64 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8) 8)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8)) 16)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8)) (*.f64 2 (*.f64 (*.f64 3 (*.f64 x.re (*.f64 x.im x.re))) 8))) 32)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))

eval22.0ms (0.2%)

Compiler

Compiled 1208 to 620 computations (48.7% saved)

prune21.0ms (0.2%)

Pruning

14 alts after pruning (7 fresh and 7 done)

PrunedKeptTotal
New1126118
Fresh112
Picked101
Done4711
Total11814132
Error
0.0b
Counts
132 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
18.0b
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 6)) 2)
23.4b
(/.f64 (*.f64 x.im 3) (/.f64 1 (*.f64 x.re x.re)))
46.5b
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
0.2b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
17.9b
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
18.0b
(*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)
23.4b
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
46.5b
(*.f64 (*.f64 x.im x.im) x.re)
5.7b
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
23.4b
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
46.5b
(*.f64 x.im (*.f64 x.re x.im))
18.0b
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
23.5b
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
29.8b
(neg.f64 (pow.f64 x.im 3))
Compiler

Compiled 143 to 91 computations (36.4% saved)

regimes49.0ms (0.4%)

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

3 calls:

18.0ms
x.im
15.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 305 to 125 computations (59% saved)

regimes69.0ms (0.5%)

Counts
22 → 3
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 (*.f64 x.im (*.f64 3 x.re)) x.re)
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(/.f64 (*.f64 x.im 3) (/.f64 1 (*.f64 x.re x.re)))
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 6)) 2)
(*.f64 2 (*.f64 (+.f64 x.re (*.f64 x.re 1/2)) (*.f64 x.re x.im)))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (+.f64 x.re x.re) (+.f64 (*.f64 x.re x.im) (*.f64 x.im (*.f64 (+.f64 x.re x.im) 1/2))))
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 x.re x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(+.f64 (*.f64 x.im (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
Outputs
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)
Calls

2 calls:

34.0ms
x.re
31.0ms
x.im
Results
ErrorSegmentsBranch
0.2b3x.re
0.9b3x.im
Compiler

Compiled 218 to 93 computations (57.3% saved)

bsearch35.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
3.3158769075512665e+114
3.153874074119639e+116
22.0ms
-2.2401575494748968e+160
-5.918354359477423e+150
Results
27.0ms240×body256valid
5.0ms46×body256infinite
Compiler

Compiled 446 to 270 computations (39.5% saved)

regimes24.0ms (0.2%)

Counts
18 → 1
Calls
Call 1
Inputs
(*.f64 x.im (*.f64 x.re x.im))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 x.im (*.f64 (*.f64 3 x.re) x.re))
(*.f64 (*.f64 x.im (*.f64 3 x.re)) x.re)
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
(*.f64 (*.f64 x.re x.re) (*.f64 3 x.im))
(*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)
(/.f64 x.re (/.f64 1 (*.f64 x.im x.im)))
(*.f64 x.im (*.f64 (+.f64 x.im (*.f64 x.re 3)) x.re))
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(/.f64 (*.f64 x.im 3) (/.f64 1 (*.f64 x.re x.re)))
(/.f64 (*.f64 x.re (*.f64 (*.f64 x.re x.im) 6)) 2)
(*.f64 2 (*.f64 (+.f64 x.re (*.f64 x.re 1/2)) (*.f64 x.re x.im)))
(*.f64 x.im (+.f64 (*.f64 x.re (+.f64 x.re x.im)) (*.f64 x.re (+.f64 x.re x.re))))
(*.f64 (+.f64 x.re (*.f64 (+.f64 x.re x.im) 1/2)) (*.f64 x.re (+.f64 x.im x.im)))
Outputs
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
Calls

2 calls:

10.0ms
x.re
10.0ms
x.im
Results
ErrorSegmentsBranch
17.9b1x.re
17.9b1x.im
Compiler

Compiled 156 to 80 computations (48.7% saved)

regimes16.0ms (0.1%)

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

2 calls:

7.0ms
x.re
7.0ms
x.im
Results
ErrorSegmentsBranch
17.9b1x.re
17.9b1x.im
Compiler

Compiled 92 to 48 computations (47.8% saved)

regimes18.0ms (0.1%)

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

2 calls:

9.0ms
x.im
7.0ms
x.re
Results
ErrorSegmentsBranch
18.0b1x.re
18.0b1x.im
Compiler

Compiled 83 to 43 computations (48.2% saved)

regimes13.0ms (0.1%)

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

2 calls:

7.0ms
x.re
5.0ms
x.im
Results
ErrorSegmentsBranch
18.0b1x.re
18.0b1x.im
Compiler

Compiled 46 to 25 computations (45.7% saved)

regimes8.0ms (0.1%)

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

2 calls:

3.0ms
x.im
3.0ms
x.re
Results
ErrorSegmentsBranch
23.5b1x.re
23.5b1x.im
Compiler

Compiled 25 to 14 computations (44% saved)

regimes7.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

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

2 calls:

3.0ms
x.re
3.0ms
x.im
Results
ErrorSegmentsBranch
46.5b1x.re
46.5b1x.im
Compiler

Compiled 18 to 10 computations (44.4% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045281
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(if (<=.f64 x.re -24000000000000000993731756729710771272402496112736719741470676818334523255868684352709734673585154299486950873915355252098651988481357561826804221607936) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 250000000000000012638856931498758453557059257700750819755120368680558190994271351456058344276265554813104278309175296) (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 x.im (*.f64 x.re x.im))
Outputs
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 x.re (*.f64 x.re (+.f64 x.im x.im))))
(if (<=.f64 x.re -24000000000000000993731756729710771272402496112736719741470676818334523255868684352709734673585154299486950873915355252098651988481357561826804221607936) (*.f64 3 (*.f64 x.re (*.f64 x.re x.im))) (if (<=.f64 x.re 250000000000000012638856931498758453557059257700750819755120368680558190994271351456058344276265554813104278309175296) (*.f64 x.im (+.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) (*.f64 x.re (+.f64 x.re x.re)))) (*.f64 (*.f64 x.re (*.f64 3 x.im)) x.re)))
(*.f64 (+.f64 x.im (*.f64 x.re 3)) (*.f64 x.re x.im))
(*.f64 (*.f64 x.im (+.f64 x.im (*.f64 x.re 3))) x.re)
(*.f64 (*.f64 x.re 3) (*.f64 x.re x.im))
(*.f64 3 (*.f64 x.re (*.f64 x.re x.im)))
(*.f64 3 (*.f64 x.im (*.f64 x.re x.re)))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 x.im (*.f64 x.re x.im))
Compiler

Compiled 121 to 73 computations (39.7% saved)

soundness1.5s (11.7%)

Algorithm
egg-herbie
Rules
4044×rational.json-simplify-41
3764×rational.json-simplify-35
3162×rational.json-simplify-35
3156×rational.json-simplify-2
2184×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01349
12649
24149
39643
442243
5404543
6639643
7755043
01312688
13012610
26782598
315912598
432732532
561062532
672702532
0822001
11751791
23451791
37631791
428671791
539091791
642121791
744381791
846251791
948081791
1056051791
1156111791
1256111791
1357841791
1459571791
1561301791
1663031725
044665
1105665
2238665
3577665
41716665
53000665
63812665
75039665
87417665
01349
12649
24149
39643
442243
5404543
6639643
7755043
01349
12649
24149
39643
442243
5404543
6639643
7755043
0741768
11791768
23731768
38841768
426611768
546791768
650041768
752471768
854511768
954551768
1054551768
1159401768
1259601768
1361551768
1463501768
1565431768
1667361768
1769291768
1871221768
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 652 to 217 computations (66.7% saved)

end53.0ms (0.4%)

Compiler

Compiled 105 to 50 computations (52.4% saved)

Profiling

Loading profile data...