Details

Time bar (total: 12.0s)

analyze311.0ms (2.6%)

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
12.5%12.5%87.4%0.1%0%0%0%5
18.8%18.7%81.2%0.1%0%0%0%6
37.5%37.5%62.4%0.1%0%0%0%7
42.2%42.1%57.8%0.1%0%0%0%8
54.7%54.6%45.3%0.1%0%0%0%9
57.4%57.4%42.5%0.1%0%0%0%10
64.5%64.4%35.5%0.1%0%0%0%11
65.9%65.9%34%0.1%0%0%0%12
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample1.8s (15.3%)

Results
889.0ms6325×body256valid
393.0ms690×body2048valid
348.0ms582×body4096valid
116.0ms407×body1024valid
85.0ms252×body512valid
Bogosity

preprocess112.0ms (0.9%)

Algorithm
egg-herbie
Rules
1104×rational.json-simplify-2
942×rational.json-simplify-44
910×rational.json-simplify-37
842×rational.json-simplify-39
834×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02190
13190
24090
37890
438390
5399890
6634990
7744490
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 im (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify114.0ms (0.9%)

Algorithm
egg-herbie
Rules
1100×rational.json-simplify-2
908×rational.json-simplify-44
900×rational.json-simplify-37
830×rational.json-simplify-47
814×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
12145
23045
36845
437245
5396645
6623545
7732445
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))

eval1.0ms (0%)

Compiler

Compiled 32 to 18 computations (43.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
38.9b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
38.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 17 to 12 computations (29.4% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
0.0b
(+.f64 (*.f64 re re) (*.f64 im im))
1.5b
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
31.0b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 77 to 19 computations (75.3% saved)

series11.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite93.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
2170×rational.json-1
2170×rational.json-2
1326×rational.json-simplify-35
892×exponential.json-3
892×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013110
185110
2174110
3449110
42047110
56917110
Stop Event
node limit
Counts
4 → 90
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 (*.f64 re re) (*.f64 im im))
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fabs.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))))

simplify160.0ms (1.3%)

Algorithm
egg-herbie
Rules
2294×rational.json-simplify-35
1068×rational.json-simplify-2
990×rational.json-simplify-1
898×rational.json-simplify-40
570×rational.json-simplify-41
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03075628
17455598
223885528
352845528
Stop Event
node limit
Counts
170 → 228
Calls
Call 1
Inputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 -1 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(*.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(*.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(*.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 16)
(pow.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 1 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 1 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (fabs.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(-.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) 2)
(/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))) 16)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
Outputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))))
(+.f64 im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 re)
(*.f64 re -1)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 re -1) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 re)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 re -1)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (neg.f64 re) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))))
(+.f64 im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))
(+.f64 im (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))))
(+.f64 re (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 re 2))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/64 (pow.f64 im 8)) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)))))
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 re 2))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))
(+.f64 im (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))))
(+.f64 re (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 re (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (*.f64 im -1))
(+.f64 re (neg.f64 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 re (*.f64 im -1)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 re (neg.f64 im)))
(+.f64 (neg.f64 im) (+.f64 re (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 re (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (+.f64 re (neg.f64 im)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 re (+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 re (+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (*.f64 (pow.f64 re 2) (sqrt.f64 2)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (sqrt.f64 2)) (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/4)))))
(+.f64 (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (*.f64 (pow.f64 re 2) (sqrt.f64 2))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2))))) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (sqrt.f64 2)) (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (sqrt.f64 2)) (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4)) 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))))
(+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4)) 2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4)) 2)) (*.f64 2 (pow.f64 re 2)))))))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))) (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 2 (pow.f64 re 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))) (*.f64 1/2 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 re)) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 2 (pow.f64 re 2))))))))) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))) (*.f64 1/2 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 re)) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 2 (pow.f64 re 2)))))))))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 4 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 8)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 16)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(pow.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))) 16)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (fabs.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))) 16)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))

eval150.0ms (1.2%)

Compiler

Compiled 6453 to 4271 computations (33.8% saved)

prune47.0ms (0.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2199228
Fresh000
Picked011
Done000
Total21910229
Error
7.7b
Counts
229 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
50.3b
(*.f64 1/2 (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
50.2b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
47.2b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
46.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
50.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
38.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
60.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
43.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
Compiler

Compiled 243 to 204 computations (16% saved)

localize12.0ms (0.1%)

Compiler

Compiled 34 to 16 computations (52.9% saved)

localize7.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (+.f64 re im)))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series8.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite175.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
2386×rational.json-simplify-2
1596×rational.json-simplify-1
1592×rational.json-simplify-35
1230×exponential.json-3
1230×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
15817
211717
322417
441517
594817
6244017
7435517
8500717
9617617
10694317
11694317
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 re im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))))

simplify928.0ms (7.7%)

Algorithm
egg-herbie
Rules
6444×rational.json-simplify-51
3960×rational.json-simplify-35
2094×rational.json-simplify-2
1346×rational.json-simplify-49
1120×rational.json-simplify-1
Iterations

Useful iterations: 35 (1.0ms)

IterNodesCost
01111058
12441058
26381010
31629998
42502998
53346998
63765998
73851998
83910998
93954998
103998998
114042998
124086998
134130998
144174998
154218998
164262998
174306998
184350998
195245998
205916998
216119998
226224998
236225998
246225998
256323998
266421998
276519998
286617998
296715998
306813998
316911998
327009998
337107998
347205998
357303974
Stop Event
node limit
Counts
34 → 67
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)
(*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 1/8)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) 2)
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/4) 4)
(*.f64 1/8 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))))) 256)
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) -1/8))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2))))))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (pow.f64 re 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) 1/16))) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) -1/8)) (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2)))) (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 5)) 2)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(sqrt.f64 (*.f64 re 2))
(sqrt.f64 (*.f64 2 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (sqrt.f64 (*.f64 re 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) 2)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (sqrt.f64 (*.f64 re 2)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) -1/8))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) 2)))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 2))))))
(+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) -1/8)) (+.f64 (sqrt.f64 (*.f64 re 2)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) 1/16))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) 2)))) (+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 2))))) (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 re 5)) 2)) 1/16))))
(+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 1/16 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5)))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (pow.f64 im 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 1/8)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2) 2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/4) 4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1/8 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8) 8)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)) 16)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))) 32)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))) 64)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8))))) 128)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 8)))))) 256)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))

localize21.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
6.7b
(/.f64 (pow.f64 im 2) re)
19.3b
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
Compiler

Compiled 53 to 40 computations (24.5% saved)

series6.0ms (0%)

Counts
3 → 36
Calls

18 calls:

TimeVariablePointExpression
1.0ms
im
@0
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
0.0ms
im
@inf
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
0.0ms
re
@inf
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
0.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))

rewrite81.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1262×rational.json-1
1262×rational.json-2
1262×rational.json-4
1262×rational.json-3
1254×exponential.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01255
18251
218451
340851
4104451
5379051
Stop Event
node limit
Counts
3 → 189
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (neg.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (neg.f64 (/.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (/.f64 1/2 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 (/.f64 1/2 re) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 -1 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 1/2 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 1 (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (pow.f64 im 2) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 1 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 1/4 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (pow.f64 (*.f64 im 1/2) 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 1/8 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 -1/2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re 1/2) (pow.f64 im 2)) (/.f64 2 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 re) 2) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (/.f64 1/2 re)) (neg.f64 (/.f64 1/2 re))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 1/2 re) 2) (/.f64 (/.f64 1/2 re) 2)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (/.f64 (pow.f64 im 2) re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (/.f64 (pow.f64 im 2) re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 2 (/.f64 re (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (+.f64 re re) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 (*.f64 re 1/2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re 4) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (neg.f64 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (neg.f64 (*.f64 re 4)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (-.f64 0 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (neg.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 re) (-.f64 0 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (neg.f64 (/.f64 (*.f64 re 1/2) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (-.f64 0 (/.f64 (*.f64 re 1/2) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 re) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 2 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 re 8) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (neg.f64 (*.f64 re 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (neg.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (-.f64 0 (neg.f64 (*.f64 re 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 re) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (-.f64 0 (neg.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 re)) (-.f64 0 (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) 8)))) (-.f64 0 (*.f64 2 (*.f64 re 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1 (+.f64 re re))) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2)))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2)) (-.f64 0 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2)) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 (+.f64 re re))) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2)) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)))) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) re))))))

simplify184.0ms (1.5%)

Algorithm
egg-herbie
Rules
1112×rational.json-simplify-39
934×rational.json-simplify-35
684×rational.json-simplify-51
664×rational.json-simplify-41
504×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03804265
111644209
236914063
361164051
Stop Event
node limit
Counts
225 → 231
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(*.f64 (pow.f64 im 2) (neg.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re)))))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(*.f64 re (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (neg.f64 (/.f64 1/2 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) -1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (/.f64 1/2 re) 2))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 (/.f64 1/2 re) 2) 1))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (/.f64 1 re) (/.f64 -1 (/.f64 -1 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 1/2 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 1 (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) 1/4))
(*.f64 4 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4)))
(*.f64 4 (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(*.f64 4 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 1/2 re)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/4)
(*.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 1 (*.f64 re 8)))
(*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 1/4 (/.f64 1/2 re)))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (/.f64 1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1/2 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1 (+.f64 re re)))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 8 (*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 1/2 re)))
(*.f64 8 (*.f64 (pow.f64 (*.f64 im 1/2) 2) (/.f64 1/2 re)))
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 1/8 (/.f64 1/2 re)))
(*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) (neg.f64 (pow.f64 im 2)))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) -2))
(*.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 -1/2 (/.f64 1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)
(*.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (/.f64 (*.f64 re 1/2) (pow.f64 im 2)) (/.f64 2 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 (/.f64 1/2 re) 2) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) -4)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (+.f64 (neg.f64 (/.f64 1/2 re)) (neg.f64 (/.f64 1/2 re))) (neg.f64 (pow.f64 im 2)))
(*.f64 (+.f64 (/.f64 (/.f64 1/2 re) 2) (/.f64 (/.f64 1/2 re) 2)) (*.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 1/2 re)))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(+.f64 -2 (-.f64 1 (+.f64 (/.f64 (pow.f64 im 2) re) -1)))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 -1 (+.f64 (/.f64 (pow.f64 im 2) re) -1))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 2 (*.f64 2 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 2 (/.f64 (+.f64 re re) (neg.f64 (pow.f64 im 2))))
(/.f64 2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(/.f64 2 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -1)
(/.f64 -1/2 (/.f64 (*.f64 re 1/2) (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 1 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -2))
(/.f64 1 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 8))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re 4) -2))
(/.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (neg.f64 (*.f64 re -2))))
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 re -2)))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (*.f64 re 4)))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -2)
(/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (neg.f64 (pow.f64 im 2)) re)
(/.f64 4 (*.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))
(/.f64 4 (/.f64 (neg.f64 (*.f64 re 4)) (pow.f64 im 2)))
(/.f64 4 (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 4 (-.f64 0 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)
(/.f64 (*.f64 (pow.f64 im 2) 8) (neg.f64 (*.f64 re 8)))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (neg.f64 (*.f64 re 4))))
(/.f64 (/.f64 -1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 -1 re) (-.f64 0 (/.f64 -1 (pow.f64 im 2))))
(/.f64 1/2 (neg.f64 (/.f64 (*.f64 re 1/2) (pow.f64 im 2))))
(/.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) -2))
(/.f64 1/2 (-.f64 0 (/.f64 (*.f64 re 1/2) (pow.f64 im 2))))
(/.f64 (/.f64 1/2 re) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re -2)))
(/.f64 -2 (*.f64 2 (/.f64 re (pow.f64 im 2))))
(/.f64 -2 (-.f64 0 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 8 (/.f64 (*.f64 re 8) (neg.f64 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) -8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (neg.f64 (*.f64 re 8))))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 8)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 re 4))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (*.f64 re -2))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (neg.f64 (*.f64 re 4))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (*.f64 re -2))))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (*.f64 re 8))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (-.f64 0 (neg.f64 (*.f64 re 8))))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) -1/2)
(/.f64 -4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 re 8))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4))) 16)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 re 8)))
(/.f64 (/.f64 -2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) re) 2)
(/.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2))) re)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (*.f64 re 1/2))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) 1/2)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re 4))) 1/4)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 (/.f64 -2 (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2) (*.f64 re 4))
(/.f64 (/.f64 -1 (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 re)) 4)
(/.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (neg.f64 (*.f64 re 4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (neg.f64 (*.f64 re 8)))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (*.f64 re 4))
(/.f64 (neg.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (-.f64 0 (neg.f64 (*.f64 re 4))))
(/.f64 (neg.f64 (/.f64 -2 re)) (-.f64 0 (/.f64 2 (pow.f64 im 2))))
(/.f64 (neg.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (neg.f64 (*.f64 re 8)))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) 8)))) (-.f64 0 (*.f64 2 (*.f64 re 8))))
(/.f64 (neg.f64 (/.f64 -1 (+.f64 re re))) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2)))) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2)) (-.f64 0 (*.f64 re 1/2)))
(/.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2)) (neg.f64 (+.f64 re re)))
(/.f64 (neg.f64 (/.f64 -2 (+.f64 re re))) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2)) (neg.f64 (*.f64 re 4)))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)))) (*.f64 re 8))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(-.f64 1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (neg.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re)))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 re (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 re (/.f64 (/.f64 (/.f64 1 re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))) (pow.f64 im 2)))
(*.f64 re (/.f64 (/.f64 1 re) (*.f64 (/.f64 re (pow.f64 (*.f64 im im) 2)) (pow.f64 im 2))))
(/.f64 re (*.f64 re (*.f64 (/.f64 re (pow.f64 (*.f64 im im) 2)) (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) -2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (neg.f64 (/.f64 1/2 re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) -1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (/.f64 1/2 re) 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 (/.f64 1/2 re) 2) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (/.f64 -1 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (/.f64 1 re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (/.f64 2 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (pow.f64 im 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 2))))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 1/2 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 1/2 re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 1/2 re) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 1/2 re) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (/.f64 1/2 re) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 1 (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 1 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (pow.f64 im 2)))))
(*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 2)))))))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) 1/4))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/4)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 1 (*.f64 re 8)))
(*.f64 (pow.f64 im 2) (*.f64 8 (/.f64 1/8 re)))
(*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 1/4 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 8 (*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1/2 re) 8))
(*.f64 8 (*.f64 (/.f64 1/2 re) (/.f64 (pow.f64 im 2) 4)))
(*.f64 (/.f64 1/2 re) (*.f64 (/.f64 (pow.f64 im 2) 4) 8))
(*.f64 8 (*.f64 (pow.f64 (*.f64 im 1/2) 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 1/8 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 re))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) -2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 -1/2 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (*.f64 re 1/2) (pow.f64 im 2)) (/.f64 2 (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 2 re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (/.f64 (+.f64 re re) re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(*.f64 (/.f64 (/.f64 1/2 re) 2) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) -4)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (pow.f64 im 2)))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 (/.f64 re re) (/.f64 2 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 2))))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 re (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 re (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2))))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2)))
(*.f64 (+.f64 (neg.f64 (/.f64 1/2 re)) (neg.f64 (/.f64 1/2 re))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (+.f64 (/.f64 (/.f64 1/2 re) 2) (/.f64 (/.f64 1/2 re) 2)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 1/2 re)))
(*.f64 1/2 (*.f64 (/.f64 1/2 re) (pow.f64 (+.f64 im im) 2)))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 (+.f64 im im) 2) 1/2))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 -2 (-.f64 1 (+.f64 (/.f64 (pow.f64 im 2) re) -1)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 -1 (+.f64 (/.f64 (pow.f64 im 2) re) -1))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (*.f64 2 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (+.f64 re re) (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 2 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -1/2 (/.f64 (*.f64 re 1/2) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) 8))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re 4) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (neg.f64 (*.f64 re -2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (pow.f64 im 2)) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (*.f64 2 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (/.f64 (neg.f64 (*.f64 re 4)) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 4 (-.f64 0 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (neg.f64 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (neg.f64 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -1 re) (-.f64 0 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1/2 (neg.f64 (/.f64 (*.f64 re 1/2) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 1/2 (-.f64 0 (/.f64 (*.f64 re 1/2) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 1/2 re) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -2 (*.f64 2 (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -2 (-.f64 0 (neg.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 8 (/.f64 (*.f64 re 8) (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) -8)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (neg.f64 (*.f64 re 8))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 8)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (*.f64 re -2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (neg.f64 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (*.f64 re -2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (*.f64 re 8))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (-.f64 0 (neg.f64 (*.f64 re 8))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) -1/2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 -4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 re 8))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4))) 16)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) re) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2))) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) (*.f64 re 1/2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) 1/2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re 4))) 1/4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -2 (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 -1 (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 re)) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8))) (neg.f64 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (-.f64 0 (neg.f64 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 -2 re)) (-.f64 0 (/.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2))))) (neg.f64 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) 8)))) (-.f64 0 (*.f64 2 (*.f64 re 8))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 -1 (+.f64 re re))) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2)))) (neg.f64 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2)) (-.f64 0 (*.f64 re 1/2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2)) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 -2 (+.f64 re re))) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) 2)) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)))) (*.f64 re 8))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.0b
(pow.f64 (sqrt.f64 2) 2)
Compiler

Compiled 29 to 23 computations (20.7% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite261.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
2226×rational.json-simplify-35
2186×rational.json-simplify-2
1274×rational.json-1
1274×rational.json-2
1274×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061
1411
2881
31531
42501
55121
611481
724831
839351
945661
1055761
1162471
1262471
1371511
1471511
1577121
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 2) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 2)))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
2
Outputs
2

eval850.0ms (7.1%)

Compiler

Compiled 5354 to 4361 computations (18.5% saved)

prune72.0ms (0.6%)

Pruning

14 alts after pruning (9 fresh and 5 done)

PrunedKeptTotal
New2936299
Fresh134
Picked011
Done145
Total29514309
Error
0.7b
Counts
309 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
50.3b
(*.f64 1/2 (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
50.2b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
47.2b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
50.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
54.1b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
50.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
38.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
43.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
60.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2))) -1/2))))
54.5b
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
Compiler

Compiled 321 to 266 computations (17.1% saved)

localize6.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 -1 re))
0.2b
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
Compiler

Compiled 27 to 19 computations (29.6% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

9 calls:

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

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1542×rational.json-simplify-35
1112×rational.json-simplify-2
996×rational.json-1
996×rational.json-2
996×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
16428
215228
331428
462728
5161428
6426328
Stop Event
node limit
Counts
2 → 34
Calls
Call 1
Inputs
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 -1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 -1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 -1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 -1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -1 re)) 1)))))

simplify274.0ms (2.3%)

Algorithm
egg-herbie
Rules
1704×rational.json-simplify-2
1572×rational.json-simplify-53
1512×rational.json-simplify-1
1482×rational.json-simplify-35
1040×exponential.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
075770
1160770
2479722
31548698
43187698
54419698
64556698
74660698
84744698
94833698
106148698
117167698
127650698
Stop Event
node limit
Counts
46 → 40
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) 4)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))) 64)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)
(+.f64 (sqrt.f64 (/.f64 -1 re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 -1 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))
(-.f64 (sqrt.f64 (/.f64 -1 re)) 0)
(*.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 -1 re)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 1/4)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) 2)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(*.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)
(/.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)))) 64)
(pow.f64 (sqrt.f64 (/.f64 -1 re)) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) 2)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) 4)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) 8)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)) 16)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8))) 32)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))) 64)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(+.f64 (sqrt.f64 (/.f64 -1 re)) 0)
(sqrt.f64 (/.f64 -1 re))
(+.f64 0 (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 -1 re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))
(sqrt.f64 (/.f64 -1 re))
(-.f64 (sqrt.f64 (/.f64 -1 re)) 0)
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(sqrt.f64 (/.f64 -1 re))
(*.f64 1 (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 -1 re))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2) 1/2)
(sqrt.f64 (/.f64 -1 re))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 1/4)
(sqrt.f64 (/.f64 -1 re))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) 2)
(sqrt.f64 (/.f64 -1 re))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 2) 2)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8) 8)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)) 16)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8))) 32)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)))) 64)
(sqrt.f64 (/.f64 -1 re))
(pow.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(sqrt.f64 (/.f64 -1 re))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
6.7b
(/.f64 (pow.f64 im 2) (neg.f64 re))
19.3b
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
Compiler

Compiled 33 to 20 computations (39.4% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@inf
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
0.0ms
im
@0
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
0.0ms
re
@0
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
0.0ms
re
@-inf
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
0.0ms
im
@inf
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))

rewrite78.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1294×rational.json-simplify-2
1234×rational.json-1
1234×rational.json-2
1234×rational.json-3
1232×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
16938
217438
343938
4126338
5385638
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 -1 re) 1/2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 -1 (*.f64 re 4)) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 2 (/.f64 -1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 -1 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 -1 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 -1/2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 1/4 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 -2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 -1 re)) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 2) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 re) 1/4) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 re) -1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/2 re) 1/2) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 2 (/.f64 -1 re))) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 -2 re)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 re) (/.f64 1/2 re)) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 (/.f64 -1 re) 1/2)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 -1 (*.f64 re 4)) (/.f64 -1 (*.f64 re 4))) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) re))))))

simplify167.0ms (1.4%)

Algorithm
egg-herbie
Rules
1116×rational.json-simplify-38
1114×rational.json-simplify-53
792×rational.json-simplify-2
788×rational.json-simplify-35
772×exponential.json-simplify-26
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01442055
12992047
26061999
312481975
425361927
548101927
666211927
773131927
Stop Event
node limit
Counts
107 → 88
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 2 (*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 2) 2)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))
(*.f64 2 (*.f64 (*.f64 (/.f64 -1 re) 1/2) (pow.f64 im 2)))
(*.f64 2 (*.f64 (/.f64 -1 (*.f64 re 4)) (*.f64 2 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 2 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 -2 re)))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) -1/2))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1/2 re)))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 2) re)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 -1 (*.f64 re 4)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 -1 re) 1/4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 -1/2 re) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 4 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 -1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 1/4 (/.f64 -1/2 re)))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (/.f64 -1/2 re)))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 -2 (/.f64 (pow.f64 im 2) re)))
(*.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 (*.f64 2 (/.f64 -1 re)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)
(*.f64 (/.f64 -1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 2) 2)) 2)
(*.f64 (*.f64 (/.f64 -1 re) 1/4) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (/.f64 1 re) -1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 -1/2 re) 1/2) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2) 2)
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 -1 re))) (pow.f64 im 2))
(*.f64 (*.f64 1/2 (/.f64 -2 re)) (pow.f64 im 2))
(*.f64 (+.f64 (/.f64 1/2 re) (/.f64 1/2 re)) (neg.f64 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 (/.f64 -1 re) 1/2)) (pow.f64 im 2))
(*.f64 (+.f64 (/.f64 -1 (*.f64 re 4)) (/.f64 -1 (*.f64 re 4))) (*.f64 2 (pow.f64 im 2)))
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 -1/2 re)))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 2) 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (*.f64 (/.f64 -1 re) 1/2) (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 -1 (*.f64 re 4)) (*.f64 2 (pow.f64 im 2))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (*.f64 2 (/.f64 -1 re))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 -2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 re) -1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 2) re)) 1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 -1 (*.f64 re 4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 -1 re) 1/4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 -1/2 re) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 4 (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 1/4 (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (*.f64 -2 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 (pow.f64 (/.f64 im 2) 2) (*.f64 (/.f64 -1/2 re) 8))
(*.f64 (/.f64 -1/2 re) (*.f64 (pow.f64 (/.f64 im 2) 2) 8))
(*.f64 8 (*.f64 (/.f64 -1/2 re) (pow.f64 (/.f64 im 2) 2)))
(*.f64 (/.f64 -1/2 re) (*.f64 8 (pow.f64 (/.f64 im 2) 2)))
(*.f64 (*.f64 2 (/.f64 -1 re)) (*.f64 (pow.f64 im 2) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 2) 2)) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 -1 re) 1/4) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 1 re) -1/2) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 -1/2 re) 1/2) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1/2) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 -1 re))) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 1/2 (/.f64 -2 re)) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (+.f64 (/.f64 1/2 re) (/.f64 1/2 re)) (neg.f64 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (+.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 (/.f64 -1 re) 1/2)) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (+.f64 (/.f64 -1 (*.f64 re 4)) (/.f64 -1 (*.f64 re 4))) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (+.f64 (pow.f64 (+.f64 im im) 2) (pow.f64 (+.f64 im im) 2)) (*.f64 1/4 (/.f64 -1/2 re)))
(*.f64 1/2 (*.f64 (/.f64 -1/2 re) (pow.f64 (+.f64 im im) 2)))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))

localize31.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
0.0b
(sqrt.f64 (*.f64 (/.f64 1 im) 2))
0.1b
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
Compiler

Compiled 78 to 61 computations (21.8% saved)

series11.0ms (0.1%)

Counts
3 → 24
Calls

15 calls:

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

rewrite92.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1414×rational.json-1
1414×rational.json-2
1414×rational.json-4
1414×rational.json-3
1412×exponential.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01685
111685
222985
345185
495267
5261667
6624367
Stop Event
node limit
Counts
3 → 52
Calls
Call 1
Inputs
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(sqrt.f64 (*.f64 (/.f64 1 im) 2))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (sqrt.f64 (/.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 2 (sqrt.f64 (/.f64 2 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 2 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 2 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 2 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) (*.f64 2 (sqrt.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) (*.f64 2 (sqrt.f64 (+.f64 im im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)))))

simplify433.0ms (3.6%)

Algorithm
egg-herbie
Rules
4180×rational.json-simplify-41
2132×rational.json-simplify-2
1862×rational.json-simplify-35
1522×rational.json-simplify-53
924×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01062040
12082040
26011948
313591948
428831948
541871948
643111948
744011948
844861948
945691948
1046511948
1156141948
1259081948
1359901948
1460721948
1560721948
1660721948
Stop Event
node limit
Counts
76 → 73
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(/.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(/.f64 (*.f64 re (*.f64 2 (sqrt.f64 (/.f64 2 im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))))) 32)
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4) 4)
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)))) 32)
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(-.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 0)
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))))
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))
(*.f64 1/2 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))
(*.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) (*.f64 2 (sqrt.f64 (+.f64 im im)))))
(*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))
(*.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 1/2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 2)
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 4)
(*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) (*.f64 2 (sqrt.f64 (+.f64 im im)))) 1/2)
(/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4)))) 32)
(pow.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2)
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) 1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) 1/2))
(+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 re (*.f64 2 (sqrt.f64 (/.f64 2 im)))) 2)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 4)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 8)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 16)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))))) 32)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(sqrt.f64 (/.f64 2 im))
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(sqrt.f64 (/.f64 2 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)) 8)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) 16)
(sqrt.f64 (/.f64 2 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)))) 32)
(sqrt.f64 (/.f64 2 im))
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(-.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 0)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) (*.f64 2 (sqrt.f64 (+.f64 im im)))))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 1/2)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 1/4)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 2)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 4)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) (*.f64 2 (sqrt.f64 (+.f64 im im)))) 1/2)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))) 2)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4) 4)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4)) 8)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))) 16)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 4)))) 32)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
(pow.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))) 1)
(+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))

localize43.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f64 (*.f64 im im) 2)
5.6b
(/.f64 (pow.f64 (*.f64 im im) 2) re)
19.3b
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
37.0b
(/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2)))
Compiler

Compiled 120 to 78 computations (35% saved)

series6.0ms (0.1%)

Counts
4 → 72
Calls

21 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
1.0ms
re
@0
(/.f64 (pow.f64 (*.f64 im im) 2) re)
0.0ms
im
@0
(/.f64 (pow.f64 (*.f64 im im) 2) re)
0.0ms
im
@inf
(/.f64 (pow.f64 (*.f64 im im) 2) re)
0.0ms
re
@inf
(/.f64 (pow.f64 (*.f64 im im) 2) re)

rewrite88.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1592×exponential.json-3
1592×rational.json-1
1592×rational.json-2
1592×rational.json-4
1592×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017120
1123118
2307102
31059102
44586102
Stop Event
node limit
Counts
4 → 179
Calls
Call 1
Inputs
(/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2)))
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(pow.f64 (*.f64 im im) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (/.f64 1 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1 (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (*.f64 (pow.f64 im 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 (/.f64 (pow.f64 im 2) re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (/.f64 (pow.f64 im 2) re) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 -2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 (pow.f64 im 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (/.f64 1/2 (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (*.f64 (/.f64 1/2 (neg.f64 (pow.f64 im 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (*.f64 1/2 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (/.f64 1 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (/.f64 -1 (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 re (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 (fabs.f64 (pow.f64 im 2)) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (/.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4) (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (neg.f64 (neg.f64 (/.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 (/.f64 1/2 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 1/2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (/.f64 1 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) (neg.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (pow.f64 im 2)) (*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 (fabs.f64 (pow.f64 im 2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (neg.f64 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 (*.f64 im im) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 im im) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (*.f64 im im) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 (/.f64 (fabs.f64 im) (fabs.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (pow.f64 im 2)) (fabs.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fabs.f64 im) 2) (pow.f64 (fabs.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (*.f64 2 (pow.f64 im 2))) (fabs.f64 (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (pow.f64 (fabs.f64 im) 2)) (fabs.f64 (pow.f64 (fabs.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 1 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 im im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 im im) 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)) (*.f64 2 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 im 2)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (*.f64 2 (pow.f64 (*.f64 im im) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (*.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (fabs.f64 (pow.f64 im 2))) (fabs.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (fabs.f64 im) 2)) (pow.f64 (fabs.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)) (neg.f64 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)))))))

simplify103.0ms (0.9%)

Algorithm
egg-herbie
Rules
1360×rational.json-simplify-53
930×rational.json-simplify-44
846×rational.json-simplify-47
706×rational.json-simplify-40
636×rational.json-simplify-38
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03445911
18475869
238785829
Stop Event
node limit
Counts
251 → 225
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(+.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 0)
(+.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))
(+.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) -1)
(-.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 0)
(-.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (*.f64 (pow.f64 im 2) -2)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 2))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 2 (pow.f64 im 2))))
(*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))) -2))
(*.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2)))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (/.f64 1 re) (pow.f64 im 2)))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1 (*.f64 re (pow.f64 im 2))))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (*.f64 (pow.f64 im 2) (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (/.f64 (/.f64 (pow.f64 im 2) re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) (*.f64 re (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (/.f64 (pow.f64 im 2) re) (neg.f64 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 1)
(*.f64 -1/2 (/.f64 -2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2) -2)
(*.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))))
(*.f64 -1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 (pow.f64 im 2) (+.f64 re re))))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 re 4))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (/.f64 1/2 (neg.f64 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (*.f64 (/.f64 1/2 (neg.f64 (pow.f64 im 2))) 1))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (*.f64 1/2 (/.f64 -1 (pow.f64 im 2))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(*.f64 -2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (pow.f64 im 2) -2)))
(*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 -2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -2))
(*.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (/.f64 1 (*.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (/.f64 -1 (*.f64 (pow.f64 im 2) -2)))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re 4))))
(*.f64 (/.f64 -2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))) -1/2)
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))) -1)
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) 1))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) 1))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2))))
(*.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2) -2))
(*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 (fabs.f64 (pow.f64 im 2)) (*.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) re))
(*.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (/.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1/2 (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2))))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re (pow.f64 im 2))))
(*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 re (pow.f64 im 2))))
(pow.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 1)
(neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))) 1/2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4) (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4)) 8)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)
(+.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re))))
(+.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re))) -1)
(-.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 0)
(-.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) (+.f64 re re)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 2))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 1)
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) -1)
(*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) re))
(*.f64 -1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 1/2 re))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (neg.f64 (neg.f64 (/.f64 1/2 re))))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 (/.f64 1/2 re) 1))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 1/2 (/.f64 1 re)))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) -1/2)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 1))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 1 re)))
(*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re -2)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) 1/2)
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (/.f64 1 (*.f64 re 4)))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) (neg.f64 (/.f64 1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) (pow.f64 im 2))
(*.f64 (/.f64 1 re) (pow.f64 (*.f64 im im) 2))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 -1 re))
(*.f64 (fabs.f64 (pow.f64 im 2)) (*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 1 re)))
(*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 (fabs.f64 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 (*.f64 im im) 2)))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 (*.f64 im im) 2)))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (*.f64 (pow.f64 im 2) -2))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 (*.f64 im im) 2) -2))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 1 re)))
(*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) re))
(pow.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 1)
(neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(+.f64 (pow.f64 (*.f64 im im) 2) 0)
(+.f64 0 (pow.f64 (*.f64 im im) 2))
(+.f64 -1 (-.f64 1 (neg.f64 (pow.f64 (*.f64 im im) 2))))
(-.f64 (pow.f64 (*.f64 im im) 2) 0)
(-.f64 0 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) 2))
(*.f64 (pow.f64 (*.f64 im im) 2) 1)
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 (*.f64 im im) 2)))
(*.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 (/.f64 (fabs.f64 im) (fabs.f64 im)) 2))
(*.f64 (pow.f64 im 2) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2)))
(*.f64 1 (pow.f64 (*.f64 im im) 2))
(*.f64 -1 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) 1/2)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) 1/4)
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) -1)
(*.f64 (fabs.f64 (pow.f64 im 2)) (fabs.f64 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 2 (pow.f64 (*.f64 im im) 2)))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (pow.f64 (fabs.f64 im) 2) (pow.f64 (fabs.f64 im) 2))
(*.f64 (fabs.f64 (*.f64 2 (pow.f64 im 2))) (fabs.f64 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (fabs.f64 (pow.f64 (fabs.f64 im) 2)) (fabs.f64 (pow.f64 (fabs.f64 im) 2)))
(/.f64 2 (+.f64 (/.f64 1 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) 1)
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)))
(/.f64 1 (/.f64 1 (pow.f64 (*.f64 im im) 2)))
(/.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) 2)
(/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) 4)
(/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) -2)
(/.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) -1)
(/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 im im) 2))
(/.f64 4 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 im im) 2) 4)) 8)
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)) (*.f64 2 (pow.f64 (*.f64 im im) 2)))
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 im 2)) (pow.f64 im 2))
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (*.f64 2 (pow.f64 (*.f64 im im) 2))) 1/2)
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (*.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (fabs.f64 (pow.f64 im 2))) (fabs.f64 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (fabs.f64 im) 2)) (pow.f64 (fabs.f64 im) 2))
(/.f64 (neg.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)) (neg.f64 (pow.f64 (*.f64 im im) 2)))
(neg.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(fabs.f64 (pow.f64 (*.f64 im im) 2))
(fabs.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)))
Outputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(/.f64 (pow.f64 im 4) re)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(pow.f64 im 4)
(+.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 0)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(+.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) -1)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(-.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 0)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(-.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 2))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))) -2))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (/.f64 1 re) (pow.f64 im 2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1 (*.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (*.f64 (pow.f64 im 2) (+.f64 re re))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (/.f64 (/.f64 (pow.f64 im 2) re) (pow.f64 im 2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) (*.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (/.f64 (pow.f64 im 2) re) (neg.f64 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 1)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 -2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))))
(*.f64 -1/2 (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (*.f64 (pow.f64 im 2) re) -2)))
(*.f64 -1/2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (/.f64 re -2))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2) -2)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 (neg.f64 (/.f64 1/2 re)) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 (pow.f64 im 2) (+.f64 re re))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 re 4))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (/.f64 1/2 (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (*.f64 (/.f64 1/2 (neg.f64 (pow.f64 im 2))) 1))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) (*.f64 1/2 (/.f64 -1 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) re))))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2)))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 2 (*.f64 (pow.f64 im 2) re)) 1/2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (neg.f64 (pow.f64 im 2)))))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (pow.f64 im 2))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 -2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 -2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -2))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (/.f64 1 (*.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (/.f64 -1 (*.f64 (pow.f64 im 2) -2)))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re 4))))
(*.f64 (*.f64 4 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re 4))))
(*.f64 4 (*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (/.f64 1/4 re) (pow.f64 im 2))))
(*.f64 (/.f64 -2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 (*.f64 im im) 2))) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (*.f64 (pow.f64 im 2) re) -2)))
(*.f64 -1/2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (/.f64 re -2))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -4) (/.f64 -1/4 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 -4 (/.f64 -1/4 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 1/2 re) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))) -1)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (pow.f64 im 2)))
(+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 0 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) 1))
(+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 0 (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) 1))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 (/.f64 -1 (pow.f64 im 2)) re))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 re (neg.f64 (pow.f64 im 2)))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 (/.f64 -1 (pow.f64 im 2)) re))
(*.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) -1/2) -2))
(*.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re)) -1/2) -2))
(*.f64 4 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re)) 1/4))
(*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 (fabs.f64 (pow.f64 im 2)) (*.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) re))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 1/2 re) (/.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) re))))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2)))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 2 (*.f64 (pow.f64 im 2) re)) 1/2))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (/.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 1/2 re) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 1/2 re) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 0 (pow.f64 im 2)))
(*.f64 (/.f64 1/2 (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 (pow.f64 im 2))))
(*.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2))))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))))
(*.f64 -2 (*.f64 (/.f64 -1/2 re) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (/.f64 2 (*.f64 (pow.f64 im 2) re))))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 (*.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 re (pow.f64 im 2))))
(*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (/.f64 (pow.f64 (fabs.f64 im) 2) re) (pow.f64 im 2)))
(*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 (pow.f64 im 2) re)))
(pow.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (pow.f64 im 2))) 1)
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 0)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 0)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 2))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))) 2)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4) (*.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2))))) 1)
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re (neg.f64 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 0)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(+.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re))))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(+.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re))) -1)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(-.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 0)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(-.f64 0 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) (+.f64 re re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 2))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1 re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 1)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (/.f64 (pow.f64 (*.f64 im im) 2) re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 -1 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (neg.f64 (neg.f64 (/.f64 1/2 re))))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 (/.f64 1/2 re) 1))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) (*.f64 1/2 (/.f64 1 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) -2) -1/2)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 1))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 1 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 -2 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 re -2)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) 1/2)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (/.f64 1 (*.f64 re 4)))
(*.f64 (*.f64 4 (pow.f64 (*.f64 im im) 2)) (/.f64 (/.f64 1 re) 4))
(*.f64 4 (*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 1/4 re)))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) (neg.f64 (/.f64 1/2 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 (pow.f64 im 2) re) (pow.f64 im 2))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 1 re) (pow.f64 (*.f64 im im) 2))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) (/.f64 -1 re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (fabs.f64 (pow.f64 im 2)) (*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 1 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (fabs.f64 (pow.f64 im 2)) (/.f64 (fabs.f64 (pow.f64 im 2)) re))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 (*.f64 im im) 2)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (neg.f64 (pow.f64 im 2)))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 (*.f64 im im) 2)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) (*.f64 (pow.f64 im 2) -2))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 (*.f64 im im) 2) -2))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (pow.f64 (fabs.f64 im) 2) (*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 1 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(*.f64 (pow.f64 (fabs.f64 im) 2) (/.f64 (pow.f64 (fabs.f64 im) 2) re))
(pow.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 1)
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)))
(/.f64 (pow.f64 (*.f64 im im) 2) re)
(+.f64 (pow.f64 (*.f64 im im) 2) 0)
(pow.f64 (*.f64 im im) 2)
(+.f64 0 (pow.f64 (*.f64 im im) 2))
(pow.f64 (*.f64 im im) 2)
(+.f64 -1 (-.f64 1 (neg.f64 (pow.f64 (*.f64 im im) 2))))
(pow.f64 (*.f64 im im) 2)
(-.f64 (pow.f64 (*.f64 im im) 2) 0)
(pow.f64 (*.f64 im im) 2)
(-.f64 0 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) 2))
(pow.f64 (*.f64 im im) 2)
(*.f64 (pow.f64 (*.f64 im im) 2) 1)
(pow.f64 (*.f64 im im) 2)
(*.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 (pow.f64 (*.f64 im im) 2) (pow.f64 (/.f64 (fabs.f64 im) (fabs.f64 im)) 2))
(pow.f64 (*.f64 (*.f64 im im) (fabs.f64 (/.f64 im im))) 2)
(*.f64 (pow.f64 im 2) (pow.f64 im 2))
(pow.f64 (*.f64 im im) 2)
(*.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 1 (pow.f64 (*.f64 im im) 2))
(pow.f64 (*.f64 im im) 2)
(*.f64 -1 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) 1/2)
(pow.f64 (*.f64 im im) 2)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) 1/2))
(pow.f64 (*.f64 im im) 2)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1))
(pow.f64 (*.f64 im im) 2)
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) 1/4)
(pow.f64 (*.f64 im im) 2)
(*.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) -1)
(pow.f64 (*.f64 im im) 2)
(*.f64 (fabs.f64 (pow.f64 im 2)) (fabs.f64 (pow.f64 im 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 1/2 (*.f64 2 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (pow.f64 im 2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 (pow.f64 (fabs.f64 im) 2) (pow.f64 (fabs.f64 im) 2))
(pow.f64 (*.f64 im im) 2)
(*.f64 (fabs.f64 (*.f64 2 (pow.f64 im 2))) (fabs.f64 (*.f64 (pow.f64 im 2) 1/2)))
(pow.f64 (*.f64 im im) 2)
(*.f64 (fabs.f64 (pow.f64 (fabs.f64 im) 2)) (fabs.f64 (pow.f64 (fabs.f64 im) 2)))
(pow.f64 (*.f64 im im) 2)
(/.f64 2 (+.f64 (/.f64 1 (pow.f64 (*.f64 im im) 2)) (/.f64 1 (pow.f64 (*.f64 im im) 2))))
(pow.f64 (*.f64 im im) 2)
(/.f64 (pow.f64 (*.f64 im im) 2) 1)
(pow.f64 (*.f64 im im) 2)
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)))
(pow.f64 (*.f64 im im) 2)
(/.f64 1 (/.f64 1 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(/.f64 (*.f64 2 (pow.f64 (*.f64 im im) 2)) 2)
(pow.f64 (*.f64 im im) 2)
(/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) 4)
(pow.f64 (*.f64 im im) 2)
(/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) -2) -2)
(pow.f64 (*.f64 im im) 2)
(/.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)) -1)
(pow.f64 (*.f64 im im) 2)
(/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 im im) 2))
(pow.f64 (*.f64 im im) 2)
(/.f64 4 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 2) 4) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)))
(pow.f64 (*.f64 im im) 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 (*.f64 im im) 2) 4)) 8)
(pow.f64 (*.f64 im im) 2)
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)) (*.f64 2 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 im 2)) (pow.f64 im 2))
(pow.f64 (*.f64 im im) 2)
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (*.f64 2 (pow.f64 (*.f64 im im) 2))) 1/2)
(pow.f64 (*.f64 im im) 2)
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (*.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 2) 1/2))
(pow.f64 (*.f64 im im) 2)
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (fabs.f64 (pow.f64 im 2))) (fabs.f64 (pow.f64 im 2)))
(pow.f64 (*.f64 im im) 2)
(/.f64 (/.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2) (pow.f64 (fabs.f64 im) 2)) (pow.f64 (fabs.f64 im) 2))
(pow.f64 (*.f64 im im) 2)
(/.f64 (neg.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 im im)) 2)) (neg.f64 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(neg.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)
(fabs.f64 (pow.f64 (*.f64 im im) 2))
(pow.f64 (*.f64 im im) 2)
(fabs.f64 (neg.f64 (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 im im) 2)

eval218.0ms (1.8%)

Compiler

Compiled 8127 to 6351 computations (21.9% saved)

prune162.0ms (1.3%)

Pruning

14 alts after pruning (6 fresh and 8 done)

PrunedKeptTotal
New4224426
Fresh224
Picked101
Done189
Total42614440
Error
0.7b
Counts
440 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
50.2b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
50.3b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))))
47.2b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
54.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
50.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
54.1b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
50.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
38.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
43.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
60.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2))))
Compiler

Compiled 284 to 234 computations (17.6% saved)

localize22.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
0.0b
(sqrt.f64 (/.f64 2 im))
0.1b
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))
Compiler

Compiled 59 to 35 computations (40.7% saved)

series5.0ms (0%)

Counts
3 → 24
Calls

15 calls:

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

rewrite83.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1394×rational.json-1
1394×rational.json-2
1394×rational.json-3
1392×rational.json-4
1388×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01473
19473
220273
346173
490773
5236173
6599773
Stop Event
node limit
Counts
3 → 51
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2))
(sqrt.f64 (/.f64 2 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 2 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 2 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 2 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)) (*.f64 1/2 (sqrt.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))) (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)))))

simplify573.0ms (4.8%)

Algorithm
egg-herbie
Rules
3782×rational.json-simplify-2
2392×rational.json-simplify-53
2026×rational.json-simplify-35
1130×exponential.json-simplify-26
956×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01072139
12172139
26172047
313862047
431722047
538572047
639802047
740672047
841442047
942202047
1053382047
1154362047
1255122047
1355882047
1456642047
1557402047
1659512047
1760272047
1860272047
1960272047
2071802047
Stop Event
node limit
Counts
75 → 70
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) re) 2)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 32)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 1)
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4) 4)
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8))) 32)
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(-.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 0)
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))))
(*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)) (*.f64 1/2 (sqrt.f64 (+.f64 im im)))))
(*.f64 1/2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))
(*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)
(*.f64 1 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
(*.f64 4 (/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 8))
(*.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 1/2)
(*.f64 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 1/4)
(*.f64 1/4 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))) 2)
(*.f64 (/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 8) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)
(/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 2)
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 4)
(/.f64 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 8)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))) (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))))) 32)
(pow.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)
Outputs
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 0)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 0)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 1)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) re) 2)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 4)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 8)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 16)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 32)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) 1)
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(sqrt.f64 (/.f64 2 im))
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(sqrt.f64 (/.f64 2 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 8) 8)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) 16)
(sqrt.f64 (/.f64 2 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8))) 32)
(sqrt.f64 (/.f64 2 im))
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 0)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/4)) (*.f64 1/2 (sqrt.f64 (+.f64 im im)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1/2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 4 (/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 8))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 1/2)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 1/4)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1/4 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im)))) 2)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 8) 4)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)) 2)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 4)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))) 8)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))) 16)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re)))) (*.f64 2 (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) re))))) 32)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(pow.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))) 1)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 1/2 re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 -1 re))
0.2b
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
Compiler

Compiled 31 to 20 computations (35.5% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1752×rational.json-simplify-35
1294×rational.json-1
1294×rational.json-2
1294×rational.json-4
1294×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
17321
217321
337321
478321
5206721
6520521
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))))))

simplify247.0ms (2.1%)

Algorithm
egg-herbie
Rules
1932×rational.json-simplify-35
1506×exponential.json-simplify-26
1240×rational.json-simplify-53
1054×rational.json-simplify-1
980×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059918
1139750
2285702
3737678
43083678
55073678
66169678
76760678
87238678
97487678
107704678
Stop Event
node limit
Counts
30 → 26
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 -1 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))
(+.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) -1)
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -1)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)))) 64)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
Outputs
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(*.f64 (sqrt.f64 (neg.f64 (/.f64 1 re))) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(+.f64 -1 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)))
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) -1)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 2)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 4)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -1)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) 8)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -2)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)) 16)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8))) 32)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)))) 64)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(+.f64 -1 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.6b
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
6.7b
(/.f64 re (pow.f64 im 2))
19.3b
(sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))
Compiler

Compiled 40 to 29 computations (27.5% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

18 calls:

TimeVariablePointExpression
0.0ms
re
@0
(/.f64 re (pow.f64 im 2))
0.0ms
re
@-inf
(/.f64 re (pow.f64 im 2))
0.0ms
re
@inf
(/.f64 re (pow.f64 im 2))
0.0ms
im
@0
(/.f64 re (pow.f64 im 2))
0.0ms
re
@0
(sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))

rewrite210.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1750×rational.json-1
1750×rational.json-2
1750×rational.json-3
1742×rational.json-simplify-35
984×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01155
18051
221151
354251
4169451
5392851
6712051
Stop Event
node limit
Counts
3 → 102
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(/.f64 -1 (/.f64 re (pow.f64 im 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (/.f64 re (pow.f64 im 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) (/.f64 re (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 re (pow.f64 im 2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 re 2) (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 re (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -2) (/.f64 -1 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -2) (*.f64 -1 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 re 2) (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 re 4)) (*.f64 1/4 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -4) (*.f64 -1/2 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 (pow.f64 im 2) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 -1 re) 1/2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 1/4 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 -1 re)) (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) re))))))

simplify147.0ms (1.2%)

Algorithm
egg-herbie
Rules
1066×rational.json-simplify-2
1000×rational.json-simplify-41
856×rational.json-simplify-61
852×rational.json-simplify-46
804×rational.json-simplify-35
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01963020
14012478
28712412
321002382
445672334
572932334
Stop Event
node limit
Counts
138 → 128
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))) 32)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 -1 (-.f64 (/.f64 re (pow.f64 im 2)) -1))
(+.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 0 (/.f64 re (pow.f64 im 2)))
(+.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) (/.f64 re (*.f64 2 (pow.f64 im 2))))
(+.f64 (-.f64 (/.f64 re (pow.f64 im 2)) -1) -1)
(-.f64 (/.f64 re (pow.f64 im 2)) 0)
(-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 re (/.f64 1 (pow.f64 im 2)))
(*.f64 2 (/.f64 re (*.f64 2 (pow.f64 im 2))))
(*.f64 2 (*.f64 (/.f64 re 2) (/.f64 1 (pow.f64 im 2))))
(*.f64 2 (*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) re))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)))
(*.f64 2 (*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (neg.f64 re)))
(*.f64 (/.f64 re (pow.f64 im 2)) 1)
(*.f64 1 (/.f64 re (pow.f64 im 2)))
(*.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))
(*.f64 -2 (/.f64 re (*.f64 (pow.f64 im 2) -2)))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (*.f64 re 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 re -2) (/.f64 -1 (*.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 re -2) (*.f64 -1 (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)
(*.f64 (/.f64 1 (pow.f64 im 2)) re)
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)
(*.f64 4 (*.f64 (/.f64 re 2) (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 2 (*.f64 re 4)) (*.f64 1/4 (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 re -4) (*.f64 -1/2 (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 1/2 re))
(*.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) -1/2)
(*.f64 -1/2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))
(*.f64 1/2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))
(*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))
(*.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) 2)
(*.f64 (/.f64 re (*.f64 (pow.f64 im 2) -2)) -2)
(*.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (*.f64 re -2))
(pow.f64 (/.f64 re (pow.f64 im 2)) 1)
(neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 2 (*.f64 (*.f64 (/.f64 -1 re) 1/2) (pow.f64 im 2)))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 2 (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 1/4 (/.f64 -1/2 re)))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1 (/.f64 -1/2 re)))
(*.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 (*.f64 2 (/.f64 -1 re)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)
(*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 -1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))) 32)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 -1 (-.f64 (/.f64 re (pow.f64 im 2)) -1))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(+.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(+.f64 0 (/.f64 re (pow.f64 im 2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(+.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) (/.f64 re (*.f64 2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(+.f64 (-.f64 (/.f64 re (pow.f64 im 2)) -1) -1)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(-.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 re (/.f64 1 (pow.f64 im 2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (/.f64 re (*.f64 2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (/.f64 re 2) (/.f64 1 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) re))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)))
(*.f64 2 (*.f64 (/.f64 1/4 (pow.f64 im 2)) (+.f64 re re)))
(*.f64 re (*.f64 4 (/.f64 1/4 (pow.f64 im 2))))
(*.f64 2 (*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (neg.f64 re)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (pow.f64 im 2)) 1)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 1 (/.f64 re (pow.f64 im 2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 -2 (/.f64 re (*.f64 (pow.f64 im 2) -2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 1/2)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)))
(*.f64 2 (*.f64 (/.f64 1/4 (pow.f64 im 2)) (+.f64 re re)))
(*.f64 re (*.f64 4 (/.f64 1/4 (pow.f64 im 2))))
(*.f64 (*.f64 re 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re -2) (/.f64 -1 (*.f64 2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re -2) (*.f64 -1 (/.f64 1/2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) re)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 4 (*.f64 (/.f64 re 2) (/.f64 1/2 (pow.f64 im 2))))
(*.f64 4 (/.f64 (/.f64 re (pow.f64 im 2)) 4))
(*.f64 (*.f64 2 (*.f64 re 4)) (*.f64 1/4 (/.f64 1/2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re -4) (*.f64 -1/2 (/.f64 1/2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 1/2 re))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) -1/2)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 -1/2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 1/2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (*.f64 2 (pow.f64 im 2))) 2)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (*.f64 (pow.f64 im 2) -2)) -2)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (+.f64 re re)))
(*.f64 2 (*.f64 (/.f64 1/4 (pow.f64 im 2)) (+.f64 re re)))
(*.f64 re (*.f64 4 (/.f64 1/4 (pow.f64 im 2))))
(*.f64 (/.f64 -1 (*.f64 2 (pow.f64 im 2))) (*.f64 re -2))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(pow.f64 (/.f64 re (pow.f64 im 2)) 1)
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 -1 (+.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (*.f64 (/.f64 -1 re) 1/2) (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 2 (pow.f64 im 2))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1/2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 1/2)
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 -2 re))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) 2) (*.f64 (/.f64 -1/2 re) 4))
(*.f64 4 (*.f64 (/.f64 -1/2 re) (/.f64 (pow.f64 im 2) 2)))
(*.f64 (/.f64 (pow.f64 im 2) 2) (*.f64 4 (/.f64 -1/2 re)))
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 1/4 (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 -2 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 -2 re) 1/2))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 -2 re))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1 (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 8 (*.f64 (pow.f64 (/.f64 im 2) 2) (/.f64 -1/2 re)))
(*.f64 (pow.f64 (/.f64 im 2) 2) (*.f64 (/.f64 -1/2 re) 8))
(*.f64 8 (*.f64 (/.f64 -1/2 re) (pow.f64 (/.f64 im 2) 2)))
(*.f64 (pow.f64 (/.f64 im 2) 2) (*.f64 8 (/.f64 -1/2 re)))
(*.f64 (*.f64 2 (/.f64 -1 re)) (*.f64 1/2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (/.f64 -1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))

localize32.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 73 to 52 computations (28.8% saved)

series7.0ms (0.1%)

Counts
4 → 15
Calls

21 calls:

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

rewrite86.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1184×rational.json-1
1184×rational.json-2
1184×rational.json-3
1182×rational.json-4
1178×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016104
1115104
2230104
3465104
4918104
52340104
65155104
Stop Event
node limit
Counts
4 → 63
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 1 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)))))

simplify511.0ms (4.2%)

Algorithm
egg-herbie
Rules
3598×rational.json-simplify-53
2994×rational.json-simplify-2
2724×rational.json-simplify-35
1140×rational.json-simplify-51
1032×exponential.json-simplify-26
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202120
12682120
27022076
316782076
437822076
545592076
647112076
748352076
849492076
950622076
1063732076
1168062076
1268062076
1368062076
1469192076
1570322076
1671452076
1772582076
Stop Event
node limit
Counts
78 → 82
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(sqrt.f64 im)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))))
(-.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)) 2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)))))) 32)
(pow.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(/.f64 (*.f64 2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))))) 32)
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(+.f64 (sqrt.f64 (/.f64 1 im)) 0)
(+.f64 0 (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(-.f64 (sqrt.f64 (/.f64 1 im)) 0)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1 (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 (/.f64 1 im)) 1)
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4) 4)
(/.f64 (sqrt.f64 (/.f64 1 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)
(pow.f64 (sqrt.f64 (/.f64 1 im)) 1)
(-.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 0)
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(*.f64 1/2 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))))
(*.f64 1 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))
(*.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1/2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 2)
(*.f64 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 4)
(*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) 1/2)
(/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)
(/.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)))) 32)
(pow.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(sqrt.f64 im)
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))) (*.f64 (sqrt.f64 2) (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(-.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)) 2)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2))) 4)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)))) 8)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2))))) 16)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) (sqrt.f64 2)))))) 32)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(pow.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)) 4)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))) 8)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)))) 16)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))))) 32)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(+.f64 (sqrt.f64 (/.f64 1 im)) 0)
(sqrt.f64 (/.f64 1 im))
(+.f64 0 (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(-.f64 (sqrt.f64 (/.f64 1 im)) 0)
(sqrt.f64 (/.f64 1 im))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(*.f64 1 (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(*.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)
(sqrt.f64 (/.f64 1 im))
(*.f64 4 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)
(sqrt.f64 (/.f64 1 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/4) 4)
(sqrt.f64 (/.f64 1 im))
(/.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)
(sqrt.f64 (/.f64 1 im))
(pow.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(-.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 0)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 2 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1/2)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 1/4)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 1/2 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 2)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 4)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 2 (sqrt.f64 im))) 1/2)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (+.f64 (sqrt.f64 im) (+.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 (/.f64 1 im))))) 2)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4) 4)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)) 8)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4))) 16)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 4)))) 32)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(pow.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) 1)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))

localize43.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2))
5.6b
(/.f64 (pow.f64 im 4) re)
19.3b
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
37.0b
(/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2)))
Compiler

Compiled 102 to 78 computations (23.5% saved)

series2.0ms (0%)

Counts
4 → 60
Calls

24 calls:

TimeVariablePointExpression
0.0ms
re
@inf
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
0.0ms
re
@0
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
0.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
0.0ms
im
@0
(/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2)))
0.0ms
im
@inf
(/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2)))

rewrite87.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1256×exponential.json-3
1256×rational.json-1
1256×rational.json-2
1256×rational.json-4
1256×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017128
1121124
2292100
3926100
43992100
Stop Event
node limit
Counts
4 → 229
Calls
Call 1
Inputs
(/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2)))
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2)))
(/.f64 (pow.f64 im 4) re)
(*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (/.f64 (/.f64 1 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (/.f64 1 (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (/.f64 2 (*.f64 re (*.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 4) re) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 4) (*.f64 re (*.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (/.f64 -1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1 (*.f64 re (*.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 1 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) -2) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 (pow.f64 im 4) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 4)) (/.f64 (/.f64 -1 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) (neg.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 re)) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2) (*.f64 (pow.f64 im 4) (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))) (neg.f64 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 -1 re) (pow.f64 im 2)) (neg.f64 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) (pow.f64 im 2)) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (*.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))) (*.f64 (pow.f64 im 4) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (*.f64 re (*.f64 2 (pow.f64 im 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re (*.f64 2 (pow.f64 im 2)))) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re (pow.f64 im 2))) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 re (*.f64 2 (pow.f64 im 2)))) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 4 re))) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 4 re))) (*.f64 4 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) -4)) (*.f64 (/.f64 (pow.f64 im 4) re) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 4) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (/.f64 (pow.f64 im 4) re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (pow.f64 im 4) re) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 4) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 4) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (/.f64 (pow.f64 im 4) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 4) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 4) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 4) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (pow.f64 im 4) (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 4) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) 2) (neg.f64 (neg.f64 (/.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (pow.f64 im 4) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 4) -2) (neg.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 4) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (neg.f64 (/.f64 1/2 re))) (*.f64 (pow.f64 im 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 4) re) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (*.f64 re -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 4 re)) (*.f64 4 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 4) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (pow.f64 im 2) -4) (/.f64 (pow.f64 im 4) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 4 re) (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 4) (/.f64 re (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 4) (-.f64 0 (*.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) re) (/.f64 1 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (-.f64 0 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (pow.f64 im 2) (/.f64 re (neg.f64 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (pow.f64 im 2) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 (+.f64 re re) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) 2) (-.f64 0 (*.f64 re (*.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 2 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 re (*.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 4 (*.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (*.f64 4 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 re (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) -2) (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 re (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 4)) (*.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 4)) (/.f64 re (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 4)) (-.f64 0 (*.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (pow.f64 im 4))) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (*.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (*.f64 2 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (/.f64 (*.f64 4 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4) (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) -4) (*.f64 (pow.f64 im 2) (*.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) -4) (-.f64 0 (*.f64 re (*.f64 (pow.f64 im 2) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (*.f64 4 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (-.f64 0 (*.f64 4 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (neg.f64 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (*.f64 4 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2)))) (*.f64 4 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))) (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4))) (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2)))) (*.f64 4 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4)) (*.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4)) (-.f64 0 (*.f64 4 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re))) (*.f64 4 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 4) -4)) (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (pow.f64 im 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (neg.f64 re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (pow.f64 im 2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (*.f64 re -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 re (pow.f64 im 4)) (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 re (*.f64 2 (pow.f64 im 2)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (/.f64 re (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 re (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -1 (pow.f64 im 2)) re) (/.f64 1 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) (-.f64 0 (*.f64 re (/.f64 2 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))))) (*.f64 4 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))))) (-.f64 0 (*.f64 4 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))))) (-.f64 0 (*.f64 2 (*.f64 4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4))) (*.f64 4 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 (pow.f64 im 2))) (-.f64 0 (*.f64 re (/.f64 2 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (neg.f64 (pow.f64 im 2)))) (-.f64 0 (*.f64 2 (*.f64 4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 2 (pow.f64 im 2))) (-.f64 0 (/.f64 (*.f64 re -2) (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4))) (-.f64 0 (*.f64 2 (*.f64 (pow.f64 im 2) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 re (pow.f64 im 4)) (neg.f64 (pow.f64 im 2)))) (-.f64 0 (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 -1 (pow.f64 im 2)) re)) (-.f64 0 (/.f64 1 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))))))

simplify153.0ms (1.3%)

Algorithm
egg-herbie
Rules
1310×rational.json-simplify-50
1174×rational.json-simplify-35
692×rational.json-simplify-51
616×rational.json-simplify-1
600×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042210999
113247315
243117259
362467183
Stop Event
node limit
Counts
289 → 280
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 0)
(+.f64 0 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(+.f64 -1 (-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1))
(+.f64 (-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1) -1)
(-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 0)
(-.f64 0 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 re)))
(*.f64 (pow.f64 im 4) (/.f64 (/.f64 1 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 4) (/.f64 1 (*.f64 re (pow.f64 im 2))))
(*.f64 (pow.f64 im 4) (/.f64 2 (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 2))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) re) (*.f64 2 (pow.f64 im 2))))
(*.f64 2 (/.f64 (pow.f64 im 4) (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -2))
(*.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2)))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 1)
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2)
(*.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(*.f64 -1 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1 (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 4 re))))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 1 (*.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 4 re))))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (*.f64 (pow.f64 im 4) -2) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -1)
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) (neg.f64 re)))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 (/.f64 -1 re) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) (neg.f64 (/.f64 1/2 re)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))) -1/2)
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) re))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))) (/.f64 1/2 re))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) (/.f64 -2 re)))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 re)) (pow.f64 im 4))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2) (*.f64 (pow.f64 im 4) (/.f64 -2 re)))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))) (*.f64 (pow.f64 im 4) 2))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 2) 2)
(*.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))) 1/2)
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))) (neg.f64 (pow.f64 im 4)))
(*.f64 (/.f64 (/.f64 -1 re) (pow.f64 im 2)) (neg.f64 (pow.f64 im 4)))
(*.f64 (/.f64 (/.f64 1 re) (pow.f64 im 2)) (pow.f64 im 4))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (*.f64 2 (pow.f64 im 2))) 2)
(*.f64 (/.f64 1 (*.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (/.f64 2 re)))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))) (*.f64 (pow.f64 im 4) -2))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (*.f64 2 (pow.f64 im 2)))) 2)
(*.f64 (/.f64 1 (*.f64 re (*.f64 2 (pow.f64 im 2)))) (*.f64 (pow.f64 im 4) 2))
(*.f64 (/.f64 1 (*.f64 re (pow.f64 im 2))) (pow.f64 im 4))
(*.f64 (/.f64 2 (*.f64 re (*.f64 2 (pow.f64 im 2)))) (pow.f64 im 4))
(*.f64 (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 4 re))) (*.f64 (pow.f64 im 4) 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 4 re))) (*.f64 4 (pow.f64 im 4)))
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2) 4)
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -2) 2)
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) -4)) (*.f64 (/.f64 (pow.f64 im 4) re) -4))
(*.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2)) 2)
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 1)
(neg.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 2)
(/.f64 (*.f64 4 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 4)
(/.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))) 8)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)
(+.f64 (/.f64 (pow.f64 im 4) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 4) re))
(+.f64 -1 (-.f64 (/.f64 (pow.f64 im 4) re) -1))
(+.f64 (-.f64 (/.f64 (pow.f64 im 4) re) -1) -1)
(-.f64 (/.f64 (pow.f64 im 4) re) 0)
(-.f64 0 (/.f64 (pow.f64 im 4) (neg.f64 re)))
(-.f64 1 (-.f64 1 (/.f64 (pow.f64 im 4) re)))
(*.f64 (pow.f64 im 4) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 4) re) 1)
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) -1)
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) re) 2))
(*.f64 2 (/.f64 (pow.f64 im 4) (+.f64 re re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 4) (/.f64 -2 re)))
(*.f64 1 (/.f64 (pow.f64 im 4) re))
(*.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 re)))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) -1/2)
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 re))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 re) 1/2))
(*.f64 (*.f64 (pow.f64 im 4) 2) (neg.f64 (neg.f64 (/.f64 1/2 re))))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) 1/2)
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 re)))
(*.f64 -2 (/.f64 (pow.f64 im 4) (*.f64 re -2)))
(*.f64 (*.f64 (pow.f64 im 4) -2) (neg.f64 (/.f64 1/2 re)))
(*.f64 (/.f64 1 re) (pow.f64 im 4))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 re))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 4)))
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 re)))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 4) -2))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 4) 2))
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 (pow.f64 im 4) 2))
(*.f64 (neg.f64 (neg.f64 (/.f64 1/2 re))) (*.f64 (pow.f64 im 4) 2))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) 2) 2)
(*.f64 (/.f64 (pow.f64 im 4) (+.f64 re re)) 2)
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 re -2)) -2)
(*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 4 (pow.f64 im 4)))
(pow.f64 (/.f64 (pow.f64 im 4) re) 1)
(neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2))
(+.f64 0 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))))
(+.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) -1)
(-.f64 0 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(-.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) 1)
(/.f64 4 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))
(/.f64 4 (/.f64 (*.f64 (pow.f64 im 2) -4) (/.f64 (pow.f64 im 4) re)))
(/.f64 4 (/.f64 (*.f64 4 re) (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 4) (/.f64 re (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 4) (-.f64 0 (*.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 4) re) (/.f64 1 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (pow.f64 im 2))
(/.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4))))
(/.f64 2 (-.f64 0 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))
(/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1)
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) 1/2)
(/.f64 1 (*.f64 (pow.f64 im 2) (/.f64 re (neg.f64 (pow.f64 im 4)))))
(/.f64 -1 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (pow.f64 im 2) (*.f64 re -2)))
(/.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 (+.f64 re re) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 4) 2) (-.f64 0 (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (*.f64 (pow.f64 im 2) -2))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 2 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 re (*.f64 (pow.f64 im 2) -4)))
(/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 4 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 -2 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4))))
(/.f64 -2 (-.f64 0 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (*.f64 4 (pow.f64 im 2)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))) -2)
(/.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 re (*.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 4) -2) (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 re (pow.f64 im 4)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 4)))))
(/.f64 (neg.f64 (pow.f64 im 4)) (*.f64 re (pow.f64 im 2)))
(/.f64 (neg.f64 (pow.f64 im 4)) (/.f64 re (/.f64 1 (pow.f64 im 2))))
(/.f64 (neg.f64 (pow.f64 im 4)) (-.f64 0 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 4))) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))
(/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (*.f64 (pow.f64 im 2) -4))
(/.f64 -4 (*.f64 2 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))
(/.f64 -4 (/.f64 (*.f64 4 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) re)))
(/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) -4))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -4) 4)
(/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4) (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -4))))
(/.f64 (/.f64 (pow.f64 im 4) (pow.f64 im 2)) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 4) -4) (*.f64 (pow.f64 im 2) (*.f64 4 re)))
(/.f64 (*.f64 (pow.f64 im 4) -4) (-.f64 0 (*.f64 re (*.f64 (pow.f64 im 2) -4))))
(/.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) re)
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) (+.f64 re re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))) 2)
(/.f64 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (*.f64 4 re))
(/.f64 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (-.f64 0 (*.f64 4 (neg.f64 re))))
(/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (neg.f64 (pow.f64 im 4))))
(/.f64 (/.f64 4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (*.f64 4 (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))) (*.f64 re -2))
(/.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 4))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2)))) (*.f64 4 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))) (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4))) (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2)))) (*.f64 4 (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -4)) 8)
(/.f64 (*.f64 2 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 4 re)))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4)) (*.f64 (pow.f64 im 2) -4))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4)) (-.f64 0 (*.f64 4 (pow.f64 im 2))))
(/.f64 (neg.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re))) (*.f64 4 (pow.f64 im 2)))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 4) -4)) (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 4 re))))
(/.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (pow.f64 im 2)) 4)
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))) 2)
(/.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (neg.f64 re))) 4)
(/.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 4))))
(/.f64 (/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) 4)
(/.f64 (/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 4 re)))
(/.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re -2) (pow.f64 im 4)))
(/.f64 (/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (pow.f64 im 2)) -4)
(/.f64 (neg.f64 (*.f64 4 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))) 4)
(/.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) -4)))
(/.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (*.f64 re -2))) 2)
(/.f64 (/.f64 (/.f64 re (pow.f64 im 4)) (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4))))
(/.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 re (*.f64 2 (pow.f64 im 2)))) -2)
(/.f64 (/.f64 -2 (/.f64 re (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))) -2)
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 re (pow.f64 im 2))) 2)
(/.f64 (/.f64 (/.f64 -1 (pow.f64 im 2)) re) (/.f64 1 (pow.f64 im 4)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) re) 2)
(/.f64 (neg.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) (-.f64 0 (*.f64 re (/.f64 2 (pow.f64 im 4)))))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))))) (*.f64 4 (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))))) (-.f64 0 (*.f64 4 (neg.f64 re))))
(/.f64 (neg.f64 (*.f64 2 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))))) (-.f64 0 (*.f64 2 (*.f64 4 re))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4))) (*.f64 4 (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 -2 (pow.f64 im 2))) (-.f64 0 (*.f64 re (/.f64 2 (pow.f64 im 4)))))
(/.f64 (neg.f64 (/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (neg.f64 (pow.f64 im 2)))) (-.f64 0 (*.f64 2 (*.f64 4 re))))
(/.f64 (neg.f64 (/.f64 2 (pow.f64 im 2))) (-.f64 0 (/.f64 (*.f64 re -2) (pow.f64 im 4))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4))) (-.f64 0 (*.f64 2 (*.f64 (pow.f64 im 2) -4))))
(/.f64 (neg.f64 (/.f64 (/.f64 re (pow.f64 im 4)) (neg.f64 (pow.f64 im 2)))) (-.f64 0 (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))
(/.f64 (neg.f64 (/.f64 -2 (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (neg.f64 (/.f64 (/.f64 -1 (pow.f64 im 2)) re)) (-.f64 0 (/.f64 1 (pow.f64 im 4))))
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(neg.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
Outputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1)))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) -1))))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 0)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(+.f64 0 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(+.f64 -1 (-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(+.f64 (-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1) -1)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(-.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 0)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(-.f64 0 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 4 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 re)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (pow.f64 im 4) (/.f64 (/.f64 1 re) (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (pow.f64 im 4) (/.f64 1 (*.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (pow.f64 im 4) (/.f64 2 (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) re) (*.f64 2 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 2 (/.f64 (pow.f64 im 4) (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 2 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 1)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 -1 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) (/.f64 -1/2 (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 1/2 (/.f64 -2 re))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) 1/2)))
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1 (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 4 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 1 (*.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 4) re)) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (/.f64 2 re) (/.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 4 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (/.f64 -1/4 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))) 1/2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) -2) (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -1)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 (/.f64 -1 re) (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 im 4) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (/.f64 -1 re))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) (neg.f64 (/.f64 1/2 re)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))) -1/2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) re))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 -1 re) (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 1/2 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 -1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) (/.f64 -2 re)))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) (/.f64 -1/2 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 -1 re)) (pow.f64 im 4))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2) (*.f64 (pow.f64 im 4) (/.f64 -2 re)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1/2)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 1/2 (/.f64 -2 re))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) 1/2)))
(*.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 (/.f64 1/2 re))) (*.f64 (pow.f64 im 4) 2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 2) 2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))) 1/2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (neg.f64 re))) (neg.f64 (pow.f64 im 4)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 -1 re) (pow.f64 im 2)) (neg.f64 (pow.f64 im 4)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 1 re) (pow.f64 im 2)) (pow.f64 im 4))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (*.f64 2 (pow.f64 im 2))) 2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (/.f64 2 re)))
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 4) re)) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (/.f64 2 re) (/.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 re -2))) (*.f64 (pow.f64 im 4) -2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (*.f64 2 (pow.f64 im 2)))) 2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 re (*.f64 2 (pow.f64 im 2)))) (*.f64 (pow.f64 im 4) 2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 re (pow.f64 im 2))) (pow.f64 im 4))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 2 (*.f64 re (*.f64 2 (pow.f64 im 2)))) (pow.f64 im 4))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 2 (*.f64 (pow.f64 im 2) (*.f64 4 re))) (*.f64 (pow.f64 im 4) 2))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 4 re))) (*.f64 4 (pow.f64 im 4)))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) -2) 4)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) -2) 2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) -4)) (*.f64 (/.f64 (pow.f64 im 4) re) -4))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (/.f64 1 (*.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (/.f64 -1/4 (pow.f64 im 2)))
(*.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2)) 2)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) 1)
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))))
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 4 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))) 4)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))))) 8)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (pow.f64 im 4) re) 0)
(/.f64 (pow.f64 im 4) re)
(+.f64 0 (/.f64 (pow.f64 im 4) re))
(/.f64 (pow.f64 im 4) re)
(+.f64 -1 (-.f64 (/.f64 (pow.f64 im 4) re) -1))
(/.f64 (pow.f64 im 4) re)
(+.f64 (-.f64 (/.f64 (pow.f64 im 4) re) -1) -1)
(/.f64 (pow.f64 im 4) re)
(-.f64 (/.f64 (pow.f64 im 4) re) 0)
(/.f64 (pow.f64 im 4) re)
(-.f64 0 (/.f64 (pow.f64 im 4) (neg.f64 re)))
(/.f64 (pow.f64 im 4) re)
(-.f64 1 (-.f64 1 (/.f64 (pow.f64 im 4) re)))
(/.f64 (pow.f64 im 4) re)
(*.f64 (pow.f64 im 4) (/.f64 1 re))
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 (pow.f64 im 4) re) 1)
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 4) re)
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 4) re) 2))
(/.f64 (pow.f64 im 4) re)
(*.f64 2 (/.f64 (pow.f64 im 4) (+.f64 re re)))
(/.f64 (pow.f64 im 4) re)
(*.f64 -1/2 (*.f64 (pow.f64 im 4) (/.f64 -2 re)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) -1/2))
(*.f64 -1/2 (*.f64 -2 (/.f64 (pow.f64 im 4) re)))
(*.f64 (pow.f64 im 4) (*.f64 -1/2 (/.f64 -2 re)))
(*.f64 1 (/.f64 (pow.f64 im 4) re))
(/.f64 (pow.f64 im 4) re)
(*.f64 -1 (/.f64 (pow.f64 im 4) (neg.f64 re)))
(/.f64 (pow.f64 im 4) re)
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) -1/2)
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 -2 re) -1/2))
(*.f64 -1/2 (*.f64 -2 (/.f64 (pow.f64 im 4) re)))
(*.f64 (pow.f64 im 4) (*.f64 -1/2 (/.f64 -2 re)))
(*.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 4) re)
(*.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (/.f64 1 re) 1/2))
(/.f64 (pow.f64 im 4) re)
(*.f64 (*.f64 (pow.f64 im 4) 2) (neg.f64 (neg.f64 (/.f64 1/2 re))))
(/.f64 (pow.f64 im 4) re)
(*.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) 1/2)
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 2 re) 1/2))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 4) re)))
(*.f64 (*.f64 4 (pow.f64 im 4)) (/.f64 1 (*.f64 4 re)))
(/.f64 (pow.f64 im 4) re)
(*.f64 -2 (/.f64 (pow.f64 im 4) (*.f64 re -2)))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 4) re) -1/2))
(*.f64 (*.f64 (pow.f64 im 4) -2) (neg.f64 (/.f64 1/2 re)))
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 1 re) (pow.f64 im 4))
(/.f64 (pow.f64 im 4) re)
(*.f64 (neg.f64 (pow.f64 im 4)) (/.f64 -1 re))
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) re)
(*.f64 1/2 (*.f64 (pow.f64 im 4) (/.f64 2 re)))
(*.f64 (pow.f64 im 4) (*.f64 (/.f64 2 re) 1/2))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 4) re)))
(*.f64 (neg.f64 (/.f64 1/2 re)) (*.f64 (pow.f64 im 4) -2))
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) re)
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) re)
(*.f64 (neg.f64 (neg.f64 (/.f64 1/2 re))) (*.f64 (pow.f64 im 4) 2))
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) 2) 2)
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 (pow.f64 im 4) (+.f64 re re)) 2)
(/.f64 (pow.f64 im 4) re)
(*.f64 (/.f64 (pow.f64 im 4) (*.f64 re -2)) -2)
(*.f64 -2 (/.f64 (pow.f64 im 4) (*.f64 re -2)))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 4) re) -1/2))
(*.f64 (/.f64 1 (*.f64 4 re)) (*.f64 4 (pow.f64 im 4)))
(/.f64 (pow.f64 im 4) re)
(pow.f64 (/.f64 (pow.f64 im 4) re) 1)
(/.f64 (pow.f64 im 4) re)
(neg.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)))
(/.f64 (pow.f64 im 4) re)
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) -1)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 0 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (-.f64 1 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) 1)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 4 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 4 (/.f64 (*.f64 (pow.f64 im 2) -4) (/.f64 (pow.f64 im 4) re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 4 (/.f64 (*.f64 4 re) (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (/.f64 re (/.f64 -1 (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 4) (-.f64 0 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) re) (neg.f64 (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) re) (/.f64 1 (/.f64 -1 (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (pow.f64 im 2))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 2 (-.f64 0 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -1/2) 1/2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 1 (*.f64 (pow.f64 im 2) (/.f64 re (neg.f64 (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 -1 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (*.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (pow.f64 im 2) (*.f64 re -2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) 2) (/.f64 (+.f64 re re) (/.f64 -1 (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) 2) (-.f64 0 (*.f64 re (*.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (*.f64 (pow.f64 im 2) -2))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 2 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 re)) (/.f64 (pow.f64 im 2) -1/2))
(*.f64 (pow.f64 im 4) (/.f64 (/.f64 2 re) (/.f64 (pow.f64 im 2) -1/2)))
(/.f64 -1/2 (/.f64 (pow.f64 im 2) (*.f64 2 (/.f64 (pow.f64 im 4) re))))
(/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 re (*.f64 (pow.f64 im 2) -4)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 4 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 -2 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 -2 (-.f64 0 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (*.f64 4 (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 2 (pow.f64 im 2))) -2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 re (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) -2) (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 re -2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 re (pow.f64 im 4)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (pow.f64 im 4)) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (pow.f64 im 4)) (/.f64 re (/.f64 1 (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (pow.f64 im 4)) (-.f64 0 (*.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 4))) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))
(*.f64 re (/.f64 (/.f64 2 (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 -2 (pow.f64 im 4)))) (/.f64 re (pow.f64 im 4)))))
(*.f64 re (/.f64 (/.f64 2 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (*.f64 -2 (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))))
(/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (*.f64 (pow.f64 im 2) -4))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 -4 (*.f64 2 (*.f64 2 (/.f64 (*.f64 re (pow.f64 im 2)) (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 -4 (/.f64 (*.f64 4 (pow.f64 im 2)) (/.f64 (pow.f64 im 4) re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 2) -4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -4) 4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2)))) -4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4) (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -4))))
(*.f64 4 (/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (neg.f64 (*.f64 (pow.f64 im 2) -8))))
(/.f64 (*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) -4) (*.f64 (pow.f64 im 2) -8))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) (/.f64 -4 (*.f64 (pow.f64 im 2) -8)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) -4) (*.f64 (pow.f64 im 2) -8))
(/.f64 (/.f64 (pow.f64 im 4) (pow.f64 im 2)) (neg.f64 re))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) -4) (*.f64 (pow.f64 im 2) (*.f64 4 re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) -4) (-.f64 0 (*.f64 re (*.f64 (pow.f64 im 2) -4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) re)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) (+.f64 re re))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) (/.f64 -2 (pow.f64 im 2))) 2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (*.f64 4 re))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (-.f64 0 (*.f64 4 (neg.f64 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (neg.f64 (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))) (*.f64 4 (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))) (*.f64 re -2))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2)))) (*.f64 4 re))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))) (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4))) (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re -2) (pow.f64 im 4)))))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 -2 (/.f64 re (pow.f64 im 4))) 2)) (*.f64 (pow.f64 im 2) (*.f64 (*.f64 -2 (/.f64 re (pow.f64 im 4))) (*.f64 (pow.f64 im 2) (*.f64 -2 (/.f64 re (pow.f64 im 4)))))))
(*.f64 (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 -2 (pow.f64 im 4)))) (/.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 -2 (pow.f64 im 4))))))
(*.f64 (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 -2 (pow.f64 im 4)))) (/.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) (neg.f64 (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 -2 (pow.f64 im 4)))))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2)))) (*.f64 4 (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))) -4)) 8)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4)))) (*.f64 2 (*.f64 4 re)))
(*.f64 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 im 2) -4)) (/.f64 2 (*.f64 4 (*.f64 re 2))))
(*.f64 (/.f64 1/4 re) (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))))
(*.f64 (/.f64 1/4 re) (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 im 2) -4)))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4)) (*.f64 (pow.f64 im 2) -4))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4)) (-.f64 0 (*.f64 4 (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re))) (*.f64 4 (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 4) -4)) (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 4 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4) (pow.f64 im 2)) 4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 (pow.f64 im 2) (neg.f64 re))) 2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (neg.f64 re))) 4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 -2 (pow.f64 im 2)) (*.f64 re (/.f64 2 (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) 4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 4 re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (*.f64 re -2) (pow.f64 im 4)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 4 (/.f64 (pow.f64 im 4) re)) (pow.f64 im 2)) -4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 4 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))) 4)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) -4)))
(*.f64 4 (/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (neg.f64 (*.f64 (pow.f64 im 2) -8))))
(/.f64 (*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) -4) (*.f64 (pow.f64 im 2) -8))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) (/.f64 -4 (*.f64 (pow.f64 im 2) -8)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) -4) (*.f64 (pow.f64 im 2) -8))
(/.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 (pow.f64 im 2) (*.f64 re -2))) 2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (/.f64 re (pow.f64 im 4)) (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4))))
(/.f64 (/.f64 re (*.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4))))
(/.f64 re (*.f64 (*.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))
(/.f64 (+.f64 (/.f64 1 (/.f64 re (pow.f64 im 4))) (/.f64 1 (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (/.f64 1 (/.f64 re (pow.f64 im 4))) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 4 (pow.f64 im 4)) (*.f64 re (*.f64 2 (pow.f64 im 2)))) -2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 -2 (/.f64 re (pow.f64 im 4))) (*.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) 2) (*.f64 re (pow.f64 im 2))) -2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) -2) (*.f64 re (pow.f64 im 2))) 2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (/.f64 -1 (pow.f64 im 2)) re) (/.f64 1 (pow.f64 im 4)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))) re) 2)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2)))) (-.f64 0 (*.f64 re (/.f64 2 (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 -2 (pow.f64 im 2))))) (*.f64 4 (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 4) (/.f64 2 (pow.f64 im 2))))) (-.f64 0 (*.f64 4 (neg.f64 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 2 (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))))) (-.f64 0 (*.f64 2 (*.f64 4 re))))
(*.f64 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 im 2) -4)) (/.f64 2 (*.f64 4 (*.f64 re 2))))
(*.f64 (/.f64 1/4 re) (/.f64 -4 (/.f64 (pow.f64 im 2) (pow.f64 im 4))))
(*.f64 (/.f64 1/4 re) (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 im 2) -4)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 4) re) -4))) (*.f64 4 (pow.f64 im 2)))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (/.f64 -2 (pow.f64 im 2))) (-.f64 0 (*.f64 re (/.f64 2 (pow.f64 im 4)))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 4))) (neg.f64 (pow.f64 im 2)))) (-.f64 0 (*.f64 2 (*.f64 4 re))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (/.f64 2 (pow.f64 im 2))) (-.f64 0 (/.f64 (*.f64 re -2) (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) 4))) (-.f64 0 (*.f64 2 (*.f64 (pow.f64 im 2) -4))))
(*.f64 4 (/.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) (neg.f64 (*.f64 (pow.f64 im 2) -8))))
(/.f64 (*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) -4) (*.f64 (pow.f64 im 2) -8))
(*.f64 (*.f64 -2 (/.f64 (pow.f64 im 4) re)) (/.f64 -4 (*.f64 (pow.f64 im 2) -8)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 -2 re)) -4) (*.f64 (pow.f64 im 2) -8))
(/.f64 (neg.f64 (/.f64 (/.f64 re (pow.f64 im 4)) (neg.f64 (pow.f64 im 2)))) (-.f64 0 (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))
(/.f64 (/.f64 re (*.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2)))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4))))
(/.f64 re (*.f64 (*.f64 (pow.f64 im 4) (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 4)) (/.f64 re (pow.f64 im 4)))))
(/.f64 (+.f64 (/.f64 1 (/.f64 re (pow.f64 im 4))) (/.f64 1 (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (/.f64 1 (/.f64 re (pow.f64 im 4))) (neg.f64 (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 -2 (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 im 2) -2))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (/.f64 (/.f64 -1 (pow.f64 im 2)) re)) (-.f64 0 (/.f64 1 (pow.f64 im 4))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(pow.f64 (/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 4) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2) (*.f64 (/.f64 (/.f64 (pow.f64 im 4) re) (pow.f64 im 2)) -1/2))
(/.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 2) (neg.f64 re)))

eval421.0ms (3.5%)

Compiler

Compiled 10443 to 8341 computations (20.1% saved)

prune262.0ms (2.2%)

Pruning

14 alts after pruning (2 fresh and 12 done)

PrunedKeptTotal
New6081609
Fresh011
Picked101
Done01212
Total60914623
Error
0.7b
Counts
623 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
50.2b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
50.3b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))))
47.2b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
54.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
50.3b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
54.1b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
60.8b
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (pow.f64 im 2))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
50.1b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
38.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
43.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Compiler

Compiled 180 to 147 computations (18.3% saved)

regimes449.0ms (3.7%)

Counts
21 → 8
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 (pow.f64 im 4) (neg.f64 re)) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 im 4) re)) (neg.f64 (pow.f64 im 2))) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2))) -1/2))))
(*.f64 1/2 (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

7 calls:

115.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
106.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
96.0ms
im
49.0ms
(*.f64 im im)
29.0ms
re
Results
ErrorSegmentsBranch
25.5b3re
21.2b8im
26.3b3(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
26.3b3(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
26.2b3(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
26.2b3(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
28.8b6(*.f64 im im)
Compiler

Compiled 327 to 244 computations (25.4% saved)

bsearch227.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
463486094809255.4
3980521109189035000.0
32.0ms
9.151776454447681e-128
1.7951899385025957e-121
30.0ms
2.7967326181735476e-235
4.991295334046389e-233
49.0ms
-1.092993141988432e-308
9.842055982525575e-299
40.0ms
-1.3061847671369138e-201
-6.183793595311816e-207
29.0ms
-1.4923820656463762e-156
-1.4844588278055244e-159
21.0ms
-1.0717916996763156e+27
-7.767758942816018e+24
Results
81.0ms616×body256valid
70.0ms139×body4096valid
42.0ms104×body2048valid
14.0ms45×body1024valid
5.0ms24×body512valid
Compiler

Compiled 1533 to 1215 computations (20.7% saved)

regimes59.0ms (0.5%)

Counts
11 → 5
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (sqrt.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

2 calls:

35.0ms
im
20.0ms
re
Results
ErrorSegmentsBranch
29.2b3re
23.4b5im
Compiler

Compiled 103 to 79 computations (23.3% saved)

bsearch122.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
1.6714675035527064e-26
2.7425004815577455e-18
6.0ms
2.7967326181735476e-235
4.991295334046389e-233
46.0ms
-1.092993141988432e-308
9.842055982525575e-299
41.0ms
-1.3061847671369138e-201
-6.183793595311816e-207
Results
41.0ms84×body4096valid
34.0ms282×body256valid
26.0ms59×body2048valid
9.0ms27×body1024valid
3.0ms12×body512valid
Compiler

Compiled 668 to 556 computations (16.8% saved)

regimes45.0ms (0.4%)

Counts
5 → 3
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
Outputs
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

2 calls:

30.0ms
im
13.0ms
re
Results
ErrorSegmentsBranch
31.7b3re
33.5b7im
Compiler

Compiled 45 to 35 computations (22.2% saved)

bsearch41.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
5.578916607774559e-141
1.249184801221358e-140
31.0ms
-7.419518878773237e+31
-1.2338496326379747e+29
Results
18.0ms151×body256valid
12.0ms30×body2048valid
4.0msbody4096valid
3.0msbody1024valid
2.0msbody512valid
Compiler

Compiled 298 to 245 computations (17.8% saved)

regimes19.0ms (0.2%)

Accuracy

Total -26.2b remaining (-70.9%)

Threshold costs -26.2b (-70.9%)

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

2 calls:

10.0ms
re
8.0ms
im
Results
ErrorSegmentsBranch
37.0b2re
37.1b2im
Compiler

Compiled 28 to 22 computations (21.4% saved)

bsearch19.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
1.055888782285016e-179
1.1018248114830492e-174
Results
16.0ms144×body256valid
Compiler

Compiled 184 to 160 computations (13% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
080591
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 im -500000000000000006643777536) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -8903894453031763/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im -6508469670460345/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 8233684876561551/1789931494904685075276173995854677405670108698260665783090090606394441500334556509959080266614039273464334969326187482504649803797317086043777814127597786226282054644248700756391675078842436173515315000514484077967245659600421098975959924194154643456) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 6341051742829359/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3500000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -2012109945579605/706003489677054374237277210551156965837838477962894381170850482715673457590299624976468480248807499242724466374570999144530824216469597736906638272121736526607699022870679030143158018123175881930939339869708632591433728) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 1789931494904685/3579862989809370150552347991709354811340217396521331566180181212788883000669113019918160533228078546928669938652374965009299607594634172087555628255195572452564109288497401512783350157684872347030630001028968155934491319200842197951919848388309286912) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 5923635443359697/348449143727040986586495598010130648530944) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 re -440000000000000025637733531648) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 re 7293847513888773/858099707516326214372737599885174152158679412517913176174307932398192897924707006515319955082681819372162038923935107254640248499964580476571753536389382144) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re 3764013509538311/2281220308811097609320585802850145662446614253624279965289596258949637583604338693252956405658685699889321154786797203655344352360687718999126330659861107094125997337180132475041437096123301888) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
Outputs
(if (<=.f64 im -500000000000000006643777536) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -8903894453031763/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im -6508469670460345/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 8233684876561551/1789931494904685075276173995854677405670108698260665783090090606394441500334556509959080266614039273464334969326187482504649803797317086043777814127597786226282054644248700756391675078842436173515315000514484077967245659600421098975959924194154643456) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 6341051742829359/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3500000000000000000) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -2012109945579605/706003489677054374237277210551156965837838477962894381170850482715673457590299624976468480248807499242724466374570999144530824216469597736906638272121736526607699022870679030143158018123175881930939339869708632591433728) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -809609013229/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 1789931494904685/3579862989809370150552347991709354811340217396521331566180181212788883000669113019918160533228078546928669938652374965009299607594634172087555628255195572452564109288497401512783350157684872347030630001028968155934491319200842197951919848388309286912) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 5923635443359697/348449143727040986586495598010130648530944) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 re -440000000000000025637733531648) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 re 7293847513888773/858099707516326214372737599885174152158679412517913176174307932398192897924707006515319955082681819372162038923935107254640248499964580476571753536389382144) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re 3764013509538311/2281220308811097609320585802850145662446614253624279965289596258949637583604338693252956405658685699889321154786797203655344352360687718999126330659861107094125997337180132475041437096123301888) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
Compiler

Compiled 225 to 166 computations (26.2% saved)

soundness652.0ms (5.4%)

Algorithm
egg-herbie
Rules
2294×rational.json-simplify-35
2294×rational.json-simplify-35
2294×rational.json-simplify-35
2294×rational.json-simplify-35
1112×rational.json-simplify-39
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03075628
17455598
223885528
352845528
03075628
17455598
223885528
352845528
03804265
111644209
236914063
361164051
03075628
17455598
223885528
352845528
03804265
111644209
236914063
361164051
03075628
17455598
223885528
352845528
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 518 to 403 computations (22.2% saved)

end88.0ms (0.7%)

Compiler

Compiled 217 to 151 computations (30.4% saved)

Profiling

Loading profile data...