Details

Time bar (total: 12.0s)

analyze169.0ms (1.4%)

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.2%)

Results
855.0ms6363×body256valid
306.0ms563×body4096valid
306.0ms677×body2048valid
209.0ms412×body1024valid
138.0ms241×body512valid
Bogosity

preprocess111.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)

simplify115.0ms (1%)

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
40.7b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
40.7b
(*.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)

localize19.0ms (0.2%)

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

Compiled 77 to 19 computations (75.3% saved)

series9.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

TimeVariablePointExpression
1.0ms
im
@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
@0
(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)))
1.0ms
re
@inf
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))

rewrite96.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)))))

simplify112.0ms (0.9%)

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))))))

eval96.0ms (0.8%)

Compiler

Compiled 6453 to 4271 computations (33.8% saved)

prune46.0ms (0.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2199228
Fresh000
Picked011
Done000
Total21910229
Error
7.2b
Counts
229 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
47.7b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
47.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
46.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2)))))
40.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
45.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
44.9b
(*.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 237 to 198 computations (16.5% saved)

localize70.0ms (0.6%)

Compiler

Compiled 28 to 15 computations (46.4% saved)

localize8.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 34 to 16 computations (52.9% saved)

series4.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite218.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1932×rational.json-simplify-35
1404×rational.json-1
1404×rational.json-2
1366×exponential.json-3
1366×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
16821
214521
328821
457721
5139421
6293121
7459821
8559921
9674021
10757821
11777921
12798121
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 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 (neg.f64 im) re))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)))))

simplify396.0ms (3.3%)

Algorithm
egg-herbie
Rules
1994×rational.json-simplify-2
1576×rational.json-simplify-35
1364×rational.json-simplify-49
1244×rational.json-simplify-1
840×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191196
12741180
26081156
315791144
427821144
537351144
641921144
742741144
843371144
943981144
1064151144
1166191144
1266801144
1367411144
1468021144
1568631144
1669241144
1769851144
1870461144
1979951144
Stop Event
node limit
Counts
32 → 65
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.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 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.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 (sqrt.f64 2) (sqrt.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)))))) 256)
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(sqrt.f64 (*.f64 re 2))
(sqrt.f64 (*.f64 2 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 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 (sqrt.f64 2) (*.f64 im (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/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 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.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 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 (/.f64 1 re) 2)))) (+.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 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (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 -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 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (+.f64 (sqrt.f64 (*.f64 re 2)) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.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 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 re 5)) 2))))))
(+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5)))))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im -2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 re (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) 1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 (*.f64 (pow.f64 re 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1)))))))
(+.f64 (*.f64 re (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) 1/2)) (+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (/.f64 re (sqrt.f64 -1))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (/.f64 (pow.f64 re 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 (pow.f64 re 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(+.f64 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (+.f64 (+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 (*.f64 (pow.f64 re 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/8))) (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (/.f64 re (sqrt.f64 -1))))) (+.f64 (+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 re 3) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))
(+.f64 (*.f64 re (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) 1/2)) (+.f64 (+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1)))))) (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 re 3) (sqrt.f64 -1)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (/.f64 re (sqrt.f64 -1))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (/.f64 (pow.f64 re 2) (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (/.f64 (pow.f64 re 3) (sqrt.f64 -1)))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (pow.f64 re 2) (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (/.f64 (pow.f64 re 3) (sqrt.f64 -1)))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1/2) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)) 16)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))) 32)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)))) 64)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8))))) 128)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 8)))))) 256)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 im))))

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 40 computations (24.5% saved)

series7.0ms (0.1%)

Counts
4 → 60
Calls

24 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)))

rewrite86.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
01274
18270
218470
340870
4104470
5379070
Stop Event
node limit
Counts
4 → 205
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))
(*.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))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (pow.f64 im 2) (/.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) (*.f64 (/.f64 (pow.f64 im 2) re) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.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) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))))

simplify166.0ms (1.4%)

Algorithm
egg-herbie
Rules
1228×rational.json-simplify-39
980×rational.json-simplify-35
650×rational.json-simplify-51
552×rational.json-simplify-53
514×rational.json-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03985025
112054969
238564823
363214811
Stop Event
node limit
Counts
265 → 254
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 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.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))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(+.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 -1 (-.f64 1 (*.f64 (pow.f64 im 2) (/.f64 1/2 re))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) (*.f64 (/.f64 (pow.f64 im 2) re) -1/4))
(-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(-.f64 0 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (/.f64 (pow.f64 im 2) re) -2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -4)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 8)
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) -1)
(pow.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(neg.f64 (*.f64 (pow.f64 im 2) (/.f64 1/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))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 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 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 1 re))) (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 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 1 re))))
(*.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 2 (*.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) re))))
(*.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 re (pow.f64 im 2)) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (/.f64 re 1/2) (pow.f64 im 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (+.f64 re 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 (/.f64 1/2 re) (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2)))))
(*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 1/2 re)))))
(*.f64 (/.f64 (/.f64 re 1/2) (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 1/2 re))))
(*.f64 (/.f64 (+.f64 re re) (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 1/2 re))))
(*.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 1 (*.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) re))))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 (/.f64 re 1/2) (pow.f64 im 2)) (/.f64 (/.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (+.f64 re re) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (+.f64 re re) (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 (*.f64 (pow.f64 im 2) 8) (/.f64 (/.f64 1 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 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 re re))))
(*.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 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 (*.f64 re (/.f64 1/2 (pow.f64 im 2))) (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 2 re))))
(*.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 re re) (*.f64 re (/.f64 re (*.f64 (pow.f64 im 2) (pow.f64 im 2))))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 (+.f64 re re) re))))
(*.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 re (*.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) re))))
(*.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 2 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (/.f64 re 1/2) (pow.f64 im 2)))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (+.f64 re 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 -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)))
(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))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 -1 (-.f64 1 (*.f64 (pow.f64 im 2) (/.f64 1/2 re))))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) (*.f64 (/.f64 (pow.f64 im 2) re) -1/4))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(-.f64 0 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -2)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -4)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 8)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(pow.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(neg.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
(/.f64 (pow.f64 im 2) (*.f64 re -2))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 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)

series10.0ms (0.1%)

Counts
3 → 24
Calls

15 calls:

TimeVariablePointExpression
3.0ms
re
@0
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
1.0ms
im
@0
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
1.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)))))
0.0ms
im
@-inf
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))

rewrite90.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)))))

simplify428.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)))

eval139.0ms (1.2%)

Compiler

Compiled 7219 to 5840 computations (19.1% saved)

prune80.0ms (0.7%)

Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New3875392
Fresh134
Picked101
Done145
Total39012402
Error
0.5b
Counts
402 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
47.7b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
47.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
54.3b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
47.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2)))))
40.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.2b
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
Compiler

Compiled 234 to 192 computations (17.9% saved)

localize6.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize10.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 25 computations (28.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)))

rewrite71.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)))))

simplify271.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))

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)))

rewrite95.0ms (0.8%)

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)))))

simplify576.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)))

localize13.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

rewrite263.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

eval31.0ms (0.3%)

Compiler

Compiled 1812 to 1324 computations (26.9% saved)

prune20.0ms (0.2%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New1110111
Fresh033
Picked011
Done088
Total11112123
Error
0.5b
Counts
123 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
47.7b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
47.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
54.3b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
47.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
47.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2)))))
40.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.2b
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
Compiler

Compiled 140 to 114 computations (18.6% saved)

localize34.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 78 to 58 computations (25.6% saved)

series7.0ms (0.1%)

Counts
3 → 12
Calls

15 calls:

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

rewrite81.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01467
19367
218967
341467
4108167
5389667
Stop Event
node limit
Counts
3 → 148
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(pow.f64 im 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 1/4 re)) (*.f64 (pow.f64 im 2) (/.f64 1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re -2) (*.f64 (pow.f64 im 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (/.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 re (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (+.f64 re re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (neg.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (*.f64 2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (*.f64 2 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 re (*.f64 (pow.f64 im 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 re 8) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (*.f64 re 1/4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 2 (*.f64 re 8)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 re 8) (*.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (-.f64 0 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 re 1/4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 2 (*.f64 re 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -1/2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (/.f64 (*.f64 re 8) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/4 (*.f64 1/2 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/4 re) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 re) (-.f64 0 (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/4 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/2 re) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/2 (/.f64 -1 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 2) (*.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 4) (*.f64 re 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1/2 re)) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (-.f64 0 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (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 (neg.f64 (pow.f64 im 2)) 4)) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2)))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (neg.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2)) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1/4 re)) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1/2 re)) (-.f64 0 (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1/2 (/.f64 -1 (pow.f64 im 2)))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 2)) (neg.f64 (*.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 4)) (-.f64 0 (*.f64 re 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) re)) (-.f64 0 (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))) (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 im 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (pow.f64 im 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 im 2) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (pow.f64 (*.f64 1/2 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (pow.f64 (+.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (pow.f64 im 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 im) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 im im) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 im 2)))))))

simplify116.0ms (1%)

Algorithm
egg-herbie
Rules
1530×rational.json-simplify-2
1018×rational.json-simplify-35
972×rational.json-simplify-49
754×rational.json-simplify-44
652×rational.json-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03624454
111764302
250674022
Stop Event
node limit
Counts
160 → 206
Calls
Call 1
Inputs
(*.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/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.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/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.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 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))
(-.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 0)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))
(*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)
(*.f64 1 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 4)
(/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))) 16)
(pow.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)
(+.f64 0 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/4 re)) (*.f64 (pow.f64 im 2) (/.f64 1/4 re)))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)
(/.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 2 (/.f64 (*.f64 re -2) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 1/2 (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (/.f64 re 1/2))
(/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -2)))
(/.f64 (/.f64 (pow.f64 im 2) re) 2)
(/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 1 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re 4))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (+.f64 re re) 1/2))
(/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (neg.f64 (*.f64 re 4))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (*.f64 2 (*.f64 re -2))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 4)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 8))
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) 1/2))
(/.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) 1/2))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 -1 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 -1 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1/2))
(/.f64 -1 (/.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 4 (/.f64 (*.f64 re 8) (pow.f64 im 2)))
(/.f64 4 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 1/4)) 8)
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (*.f64 re 8)))
(/.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) 1/2))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))
(/.f64 (/.f64 1/2 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (*.f64 re -2)))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re 4)))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) 1/2))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 8 (/.f64 (*.f64 2 (*.f64 re 8)) (pow.f64 im 2)))
(/.f64 8 (/.f64 (*.f64 re 8) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 -2 (-.f64 0 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 re 1/4))) 16)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 2 (*.f64 re 8))))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -2)
(/.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(/.f64 (*.f64 (pow.f64 im 2) -1/2) (neg.f64 re))
(/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 re 8) (pow.f64 im 2))))
(/.f64 1/4 (*.f64 1/2 (/.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 1/4 re) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (/.f64 -1 re) (-.f64 0 (/.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 2 (*.f64 re -2))))
(/.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (neg.f64 (*.f64 re 8)))
(/.f64 -1/2 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 -1/4 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/2)
(/.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 (/.f64 -1/2 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (/.f64 -1/2 (/.f64 -1 (pow.f64 im 2))) re)
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 2) (*.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 re re)) 1/2)
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 re 4)) 1/4)
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 4) (*.f64 re 1/4))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re) -1)
(/.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 1/2 re)) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (-.f64 0 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (-.f64 0 (*.f64 2 (*.f64 re 8))))
(/.f64 (neg.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4)) (*.f64 re 8))
(/.f64 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2)))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (neg.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (neg.f64 (/.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 1/2 re)))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2)) (neg.f64 (+.f64 re re)))
(/.f64 (neg.f64 (/.f64 1/4 re)) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (/.f64 -1/2 re)) (-.f64 0 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (neg.f64 (/.f64 -1/2 (/.f64 -1 (pow.f64 im 2)))) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 2)) (neg.f64 (*.f64 1/2 re)))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 4)) (-.f64 0 (*.f64 re 1/4)))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) re)) (-.f64 0 (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2))))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))) (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 (neg.f64 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(pow.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(neg.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(+.f64 (pow.f64 im 2) 0)
(+.f64 0 (pow.f64 im 2))
(+.f64 -1 (-.f64 (pow.f64 im 2) -1))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (-.f64 (pow.f64 im 2) -1) -1)
(-.f64 (pow.f64 im 2) 0)
(-.f64 0 (neg.f64 (pow.f64 im 2)))
(*.f64 2 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) 1)
(*.f64 1 (pow.f64 im 2))
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(*.f64 (neg.f64 (pow.f64 im 2)) -1)
(*.f64 -1 (neg.f64 (pow.f64 im 2)))
(*.f64 4 (/.f64 (pow.f64 im 2) 4))
(*.f64 4 (pow.f64 (*.f64 1/2 im) 2))
(*.f64 (*.f64 (pow.f64 im 2) 8) 1/8)
(*.f64 (*.f64 (pow.f64 im 2) -2) -1/2)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) 2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(*.f64 1/4 (pow.f64 (+.f64 im im) 2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) -2))
(*.f64 1/8 (*.f64 (pow.f64 im 2) 8))
(*.f64 (/.f64 (pow.f64 im 2) 4) 4)
(*.f64 (pow.f64 (*.f64 1/2 im) 2) 4)
(*.f64 (pow.f64 (+.f64 im im) 2) 1/4)
(/.f64 (pow.f64 im 2) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) 4)
(/.f64 (neg.f64 (pow.f64 im 2)) -1)
(/.f64 (*.f64 (pow.f64 im 2) 8) 8)
(/.f64 (*.f64 (pow.f64 im 2) -2) -2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) 16)
(neg.f64 (neg.f64 (pow.f64 im 2)))
Outputs
(*.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (pow.f64 im 2))))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (/.f64 (pow.f64 im 4) 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -1/32))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 (/.f64 (pow.f64 im 4) 2) -1/32)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (pow.f64 im 2)))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (pow.f64 im 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/32 (/.f64 (pow.f64 im 4) 2)))))
(+.f64 (*.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.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 (/.f64 (pow.f64 im 4) 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -1/32)) (+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) 1/4))) (*.f64 (/.f64 (pow.f64 im 6) 4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) 1/128))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (pow.f64 im 2))) (+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 (/.f64 (pow.f64 im 4) 2) -1/32))) (*.f64 (/.f64 (pow.f64 im 6) 4) (*.f64 1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 11)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (pow.f64 im 2))) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) 4) (*.f64 1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/32 (/.f64 (pow.f64 im 4) 2))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)))
(+.f64 (*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7))))
(+.f64 (+.f64 (*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11)))))
(+.f64 (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11))))
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1 im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (pow.f64 (sqrt.f64 re) 3) -1)))
(*.f64 -1 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))))
(*.f64 (+.f64 (*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) -1)
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (pow.f64 (sqrt.f64 re) 3) -1)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (*.f64 1/2 (pow.f64 (sqrt.f64 re) 7))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) -1) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (*.f64 1/2 (pow.f64 (sqrt.f64 re) 7))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (pow.f64 (sqrt.f64 re) 3) -1)) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (*.f64 1/2 (pow.f64 (sqrt.f64 re) 7))) (+.f64 (*.f64 -1 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3)))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11)))))
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 1 im) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 (sqrt.f64 re) 3))) -1) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 3))) (*.f64 1/2 (pow.f64 (sqrt.f64 re) 7))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11)))))
(+.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 0)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(+.f64 0 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(+.f64 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(-.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 0)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 1 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 1/2)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 4 (/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 1/4)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 (*.f64 1/2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 2)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 4)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(/.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(/.f64 (*.f64 2 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re))))) 2)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4) 4)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4)) 8)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 4))) 16)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(pow.f64 (sqrt.f64 (+.f64 (+.f64 re re) (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 re re)))) 1)
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (+.f64 re re) (+.f64 re re))))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (+.f64 re re) 1/2)))
(sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(+.f64 0 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/4 re)) (*.f64 (pow.f64 im 2) (/.f64 1/4 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (/.f64 (*.f64 re -2) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1/2 (/.f64 re (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (+.f64 re re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (/.f64 re 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) re) 2)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) (*.f64 re (*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re)))))
(/.f64 (pow.f64 im 2) (*.f64 re (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 2 (pow.f64 im 2))))))
(/.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re 4))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (+.f64 re re) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (neg.f64 (*.f64 re 4))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 0 (*.f64 2 (neg.f64 (+.f64 re re)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 4)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 8))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re -2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (/.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (/.f64 (*.f64 re 8) (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 1/4)) 8)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (*.f64 re 8)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1/2 re) (/.f64 1 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (*.f64 re -2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (neg.f64 (+.f64 re re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re 4)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) 1/2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 8 (/.f64 (*.f64 2 (*.f64 re 8)) (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 8 (/.f64 (*.f64 re 8) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -2 (-.f64 0 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (*.f64 re 1/4))) 16)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 2 (*.f64 re 8))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -2)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -1/2) (neg.f64 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (-.f64 0 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 re 8) (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1/4 (*.f64 1/2 (/.f64 re (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1/4 re) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 -1 re) (-.f64 0 (/.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4) (neg.f64 (*.f64 re 8)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1/2 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1/4 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/2)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 1/2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) (+.f64 re re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 -1/2 re) (/.f64 -1 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 -1/2 (/.f64 -1 (pow.f64 im 2))) re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 2) (*.f64 1/2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 re re)) 1/2)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 re 4)) 1/4)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 4) (*.f64 re 1/4))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re) -1)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (neg.f64 (/.f64 1/2 re)) (/.f64 -1 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))) (-.f64 0 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (-.f64 0 (*.f64 2 (*.f64 re 8))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (*.f64 (neg.f64 (pow.f64 im 2)) 4)) (*.f64 re 8))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2)))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (neg.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (neg.f64 re))) (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(/.f64 (neg.f64 (/.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2)) (neg.f64 (+.f64 re re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 1/4 re)) (neg.f64 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 (/.f64 -1/4 re) (/.f64 -1/2 (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 -1/2 re)) (-.f64 0 (/.f64 -1 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 -1/2 (/.f64 -1 (pow.f64 im 2)))) (neg.f64 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 2)) (neg.f64 (*.f64 1/2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 4)) (-.f64 0 (*.f64 re 1/4)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) re)) (-.f64 0 (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))) (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 1/2 (/.f64 re (pow.f64 im 2))))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1/2 re)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(pow.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(neg.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(+.f64 (pow.f64 im 2) 0)
(pow.f64 im 2)
(+.f64 0 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 -1 (-.f64 (pow.f64 im 2) -1))
(pow.f64 im 2)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 im 2)
(+.f64 (-.f64 (pow.f64 im 2) -1) -1)
(pow.f64 im 2)
(-.f64 (pow.f64 im 2) 0)
(pow.f64 im 2)
(-.f64 0 (neg.f64 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 2 (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(*.f64 1 (pow.f64 im 2))
(pow.f64 im 2)
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(pow.f64 im 2)
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(pow.f64 im 2)
(*.f64 (neg.f64 (pow.f64 im 2)) -1)
(pow.f64 im 2)
(*.f64 -1 (neg.f64 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 4 (/.f64 (pow.f64 im 2) 4))
(pow.f64 im 2)
(*.f64 4 (pow.f64 (*.f64 1/2 im) 2))
(pow.f64 im 2)
(*.f64 (*.f64 (pow.f64 im 2) 8) 1/8)
(pow.f64 im 2)
(*.f64 (*.f64 (pow.f64 im 2) -2) -1/2)
(pow.f64 im 2)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) 2)
(pow.f64 im 2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(pow.f64 im 2)
(*.f64 1/4 (pow.f64 (+.f64 im im) 2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) -2))
(pow.f64 im 2)
(*.f64 1/8 (*.f64 (pow.f64 im 2) 8))
(pow.f64 im 2)
(*.f64 (/.f64 (pow.f64 im 2) 4) 4)
(pow.f64 im 2)
(*.f64 (pow.f64 (*.f64 1/2 im) 2) 4)
(pow.f64 im 2)
(*.f64 (pow.f64 (+.f64 im im) 2) 1/4)
(*.f64 1/4 (pow.f64 (+.f64 im im) 2))
(/.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(/.f64 (*.f64 2 (pow.f64 im 2)) 2)
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) 4)
(pow.f64 im 2)
(/.f64 (neg.f64 (pow.f64 im 2)) -1)
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) 8) 8)
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) -2) -2)
(pow.f64 im 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) 16)
(pow.f64 im 2)
(neg.f64 (neg.f64 (pow.f64 im 2)))
(pow.f64 im 2)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
6.1b
(/.f64 (pow.f64 im 2) (neg.f64 re))
17.7b
(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
@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
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
im
@-inf
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))

rewrite74.0ms (0.6%)

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))))))

simplify159.0ms (1.3%)

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))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 19 computations (29.6% saved)

eval178.0ms (1.5%)

Compiler

Compiled 9718 to 7774 computations (20% saved)

prune98.0ms (0.8%)

Pruning

12 alts after pruning (1 fresh and 11 done)

PrunedKeptTotal
New4801481
Fresh000
Picked011
Done11011
Total48112493
Error
0.5b
Counts
493 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
47.7b
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (sqrt.f64 (+.f64 im im))))
47.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
54.3b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
47.5b
(*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4))))
47.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
47.7b
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
40.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.2b
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
Compiler

Compiled 136 to 110 computations (19.1% saved)

regimes909.0ms (7.6%)

Counts
16 → 11
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
(*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4))))
(*.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 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2)))))
(*.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)))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 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 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 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 im 2)))
Calls

7 calls:

466.0ms
re
235.0ms
im
77.0ms
(*.f64 im im)
77.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
18.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Results
ErrorSegmentsBranch
22.5b5re
19.5b11im
26.6b3(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
26.6b3(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
26.9b3(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
26.9b3(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
29.8b5(*.f64 im im)
Compiler

Compiled 237 to 175 computations (26.2% saved)

bsearch288.0ms (2.4%)

Algorithm
10×binary-search
Steps
TimeLeftRight
16.0ms
8.387664669418269e+37
3.978113630733626e+38
21.0ms
1.6746458534814458e-69
2.09012432277032e-68
43.0ms
5.089140767460591e-96
6.4035041800406095e-80
31.0ms
5.5294091392115385e-186
2.83271439514249e-178
46.0ms
-3.4201082372167616e-284
-2.619884206207389e-295
39.0ms
-2.2089246425993267e-250
-9.921296546718175e-254
36.0ms
-5.628462113226006e-187
-1.9697277481446577e-190
18.0ms
-2.3218734459473482e-99
-5.397249922345414e-100
23.0ms
-1.4020586989702871e-93
-9.718947286821139e-96
15.0ms
-3.0238158075105686e-15
-1.016248148491113e-15
Results
105.0ms814×body256valid
73.0ms129×body4096valid
56.0ms147×body2048valid
19.0ms67×body1024valid
9.0ms43×body512valid
Compiler

Compiled 1904 to 1528 computations (19.7% saved)

regimes92.0ms (0.8%)

Counts
11 → 8
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))
(*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 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 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

2 calls:

54.0ms
im
36.0ms
re
Results
ErrorSegmentsBranch
25.5b6re
21.7b8im
Compiler

Compiled 102 to 79 computations (22.5% saved)

bsearch215.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
5.623686153028525e-158
3.15333427962689e-156
67.0ms
-3.4201082372167616e-284
-2.619884206207389e-295
33.0ms
-2.2089246425993267e-250
-9.921296546718175e-254
30.0ms
-5.628462113226006e-187
-1.9697277481446577e-190
21.0ms
-2.3218734459473482e-99
-5.397249922345414e-100
24.0ms
-1.4020586989702871e-93
-9.718947286821139e-96
16.0ms
-3.0238158075105686e-15
-1.016248148491113e-15
Results
61.0ms515×body256valid
60.0ms131×body4096valid
33.0ms85×body2048valid
32.0ms29×body512valid
17.0ms56×body1024valid
Compiler

Compiled 1171 to 978 computations (16.5% saved)

regimes238.0ms (2%)

Counts
10 → 8
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.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 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.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 2 (sqrt.f64 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 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

2 calls:

132.0ms
re
104.0ms
im
Results
ErrorSegmentsBranch
25.6b6re
21.5b8im
Compiler

Compiled 90 to 70 computations (22.2% saved)

bsearch315.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
1.6746458534814458e-69
2.09012432277032e-68
33.0ms
5.089140767460591e-96
6.4035041800406095e-80
22.0ms
5.623686153028525e-158
3.15333427962689e-156
106.0ms
-3.4201082372167616e-284
-2.619884206207389e-295
30.0ms
-2.2089246425993267e-250
-9.921296546718175e-254
87.0ms
-5.628462113226006e-187
-1.9697277481446577e-190
20.0ms
-2.3218734459473482e-99
-5.397249922345414e-100
Results
124.0ms565×body256valid
112.0ms107×body4096valid
36.0ms98×body2048valid
20.0ms61×body1024valid
10.0ms49×body512valid
Compiler

Compiled 1238 to 1028 computations (17% saved)

regimes246.0ms (2.1%)

Counts
6 → 12
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.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 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 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 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

2 calls:

133.0ms
im
112.0ms
re
Results
ErrorSegmentsBranch
25.7b6re
19.9b12im
Compiler

Compiled 51 to 40 computations (21.6% saved)

bsearch327.0ms (2.7%)

Algorithm
11×binary-search
Steps
TimeLeftRight
73.0ms
1.6746458534814458e-69
2.09012432277032e-68
32.0ms
5.089140767460591e-96
6.4035041800406095e-80
24.0ms
5.623686153028525e-158
3.15333427962689e-156
43.0ms
-3.4201082372167616e-284
-2.619884206207389e-295
32.0ms
-2.2089246425993267e-250
-9.921296546718175e-254
32.0ms
-5.628462113226006e-187
-1.9697277481446577e-190
19.0ms
-2.3218734459473482e-99
-5.397249922345414e-100
25.0ms
-1.4020586989702871e-93
-9.718947286821139e-96
14.0ms
-3.0238158075105686e-15
-1.016248148491113e-15
23.0ms
-3.7159920460402176e+25
-1.305533448879665e+23
9.0ms
-8.985524831047234e+51
-5.5189942705608023e+51
Results
155.0ms852×body256valid
64.0ms135×body4096valid
48.0ms127×body2048valid
29.0ms93×body1024valid
13.0ms57×body512valid
Compiler

Compiled 1652 to 1400 computations (15.3% saved)

regimes123.0ms (1%)

Counts
5 → 8
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.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))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

2 calls:

86.0ms
re
35.0ms
im
Results
ErrorSegmentsBranch
25.1b9re
22.5b8im
Compiler

Compiled 42 to 33 computations (21.4% saved)

bsearch169.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
1.6746458534814458e-69
2.09012432277032e-68
35.0ms
5.089140767460591e-96
6.4035041800406095e-80
26.0ms
5.623686153028525e-158
3.15333427962689e-156
39.0ms
-4.250813686714005e-265
-6.720947227164739e-271
15.0ms
-3.0238158075105686e-15
-1.016248148491113e-15
23.0ms
-3.7159920460402176e+25
-1.305533448879665e+23
11.0ms
-8.985524831047234e+51
-5.5189942705608023e+51
Results
67.0ms558×body256valid
35.0ms82×body2048valid
28.0ms60×body4096valid
21.0ms61×body1024valid
5.0ms23×body512valid
Compiler

Compiled 1014 to 855 computations (15.7% saved)

regimes55.0ms (0.5%)

Counts
4 → 5
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
(*.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)))
(*.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))))
Calls

2 calls:

36.0ms
re
18.0ms
im
Results
ErrorSegmentsBranch
29.2b9re
25.0b5im
Compiler

Compiled 34 to 27 computations (20.6% saved)

bsearch86.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
36.0ms
2.09012432277032e-68
3.3911039164930183e-59
14.0ms
-3.0238158075105686e-15
-1.016248148491113e-15
23.0ms
-3.7159920460402176e+25
-1.305533448879665e+23
13.0ms
-8.985524831047234e+51
-5.5189942705608023e+51
Results
41.0ms317×body256valid
26.0ms54×body2048valid
7.0ms26×body1024valid
4.0msbody4096valid
2.0ms10×body512valid
Compiler

Compiled 508 to 441 computations (13.2% saved)

regimes47.0ms (0.4%)

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

2 calls:

28.0ms
re
19.0ms
im
Results
ErrorSegmentsBranch
29.4b9re
25.2b5im
Compiler

Compiled 26 to 21 computations (19.2% saved)

bsearch79.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
2.09012432277032e-68
3.3911039164930183e-59
15.0ms
-3.0238158075105686e-15
-1.016248148491113e-15
23.0ms
-3.7159920460402176e+25
-1.305533448879665e+23
11.0ms
-8.985524831047234e+51
-5.5189942705608023e+51
Results
37.0ms317×body256valid
20.0ms48×body2048valid
8.0ms28×body1024valid
5.0ms10×body4096valid
3.0ms13×body512valid
Compiler

Compiled 490 to 432 computations (11.8% saved)

regimes33.0ms (0.3%)

Accuracy

Total -32.9b remaining (-105.5%)

Threshold costs -32.9b (-105.5%)

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

2 calls:

26.0ms
re
6.0ms
im
Results
ErrorSegmentsBranch
41.4b8re
31.1b2im
Compiler

Compiled 20 to 16 computations (20% saved)

bsearch38.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
37.0ms
-3.347102623501242e-305
4.292126271585648e-307
Results
15.0ms31×body4096valid
9.0ms80×body256valid
7.0ms17×body2048valid
4.0ms13×body1024valid
1.0msbody512valid
Compiler

Compiled 184 to 160 computations (13% saved)

simplify21.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01861783
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 im -5324132520958563/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -634106497348935/2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976) (*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))) (if (<=.f64 im -1477575232364793/2462625387274654950767440006258975862817483704404090416746768337765357610718575663213391640930307227550414249394176) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -3331240651246993/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -2476380614698431/4127301024497384737127654569660285988428494734657199391624693039270889863724412964643884811622321780427143710884821317803768340308614730759769835769241715444596770968742227220068214981847081570726751819595399909407406471037121576084674975771617472472574520163263578112) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 6774311829045435/4671939192445127903888559724237098316690665991422525368913093138328857771221685643782054718788988313373329725003360673086145233634688448510210725191395547328770042546544911308884863172860522266624) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 4784610960462839/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 6605074233567479/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 319999999999999985240405062467876552704) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))))))))
(if (<=.f64 im -5577662641004209/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -2630367692706693/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))) (if (<=.f64 im -8471431332224813/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -5141867922865947/2508228255056559327717299405517639477515382672702395372151508761915556027554073725754578846110147691358081325939263447624692646145908262187541873345685902047135936580242368983360130194608842238078734041088) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -1934672355233149/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 8965727053400039/15458150092069033378781407563727949377195709318825739994628941005806076569158241698144775066327690311849854464126008708709460314644171950622971634693868322994787923259293696) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -2905897956984093/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -6740863435464503/78382132970517478991165606422426233672355708521949855379734648809861125861064803929830588940942115354940041435601982738271645192059633193360683542052684438972998018132574030730004068581526319939960438784) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -5159126280621731/2063650512248692368563827284830142994214247367328599695812346519635444931862206482321942405811160890213571855442410658901884170154307365379884917884620857722298385484371113610034107490923540785363375909797699954703703235518560788042337487885808736236287260081631789056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 8695209426788831/3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 7985044781431033/2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 6605074233567479/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -36999999999999998842372096) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5324132520958563/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -1056844162248225/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1748464024965005/2462625387274654950767440006258975862817483704404090416746768337765357610718575663213391640930307227550414249394176) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -3448813850702769/313528531882069915964662425689704934689422834087799421518938595239444503444259215719322355763768461419760165742407930953086580768238532773442734168210737755891992072530296122920016274326105279759841755136) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -5159126280621731/4127301024497384737127654569660285988428494734657199391624693039270889863724412964643884811622321780427143710884821317803768340308614730759769835769241715444596770968742227220068214981847081570726751819595399909407406471037121576084674975771617472472574520163263578112) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3277127819518635/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 5828006676677187/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -13199999999999999563792384) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7098843361278085/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -2379227053564453/2379227053564452900476899997039840896210016322655031134489234974905505051456646997672269303193850160943677958064308756880727336392871849132465328929763831401252753344715935798308298255734876378992382713251762299529708397931004608141051358304557852932819272168726630260518024558103494656) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4173700524858639/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 96326941871583/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 6993608012012625/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -31999999999999999463129088) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1419768672255617/1267650600228229401496703205376) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6484356997289707/1852673427797059126777135760139006525652319754650249024631321344126610074238976) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -9000000000000000385875968) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5324132520958563/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3490733165718107/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -20240225330731/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
Outputs
(if (<=.f64 im -5324132520958563/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -634106497348935/2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976) (*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))) (if (<=.f64 im -1477575232364793/2462625387274654950767440006258975862817483704404090416746768337765357610718575663213391640930307227550414249394176) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -3331240651246993/19595533242629369747791401605606558418088927130487463844933662202465281465266200982457647235235528838735010358900495684567911298014908298340170885513171109743249504533143507682501017145381579984990109696) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -2476380614698431/4127301024497384737127654569660285988428494734657199391624693039270889863724412964643884811622321780427143710884821317803768340308614730759769835769241715444596770968742227220068214981847081570726751819595399909407406471037121576084674975771617472472574520163263578112) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 6774311829045435/4671939192445127903888559724237098316690665991422525368913093138328857771221685643782054718788988313373329725003360673086145233634688448510210725191395547328770042546544911308884863172860522266624) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 4784610960462839/34175792574734561318320347298712833833643272357706444319152665725155515612490248800367393390985216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 6605074233567479/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 319999999999999985240405062467876552704) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))))))))
(if (<=.f64 im -5577662641004209/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -2630367692706693/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 re 4)))) (if (<=.f64 im -8471431332224813/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -5141867922865947/2508228255056559327717299405517639477515382672702395372151508761915556027554073725754578846110147691358081325939263447624692646145908262187541873345685902047135936580242368983360130194608842238078734041088) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -1934672355233149/32244539253885818258809801325470984284597615114509370247067914369303827060346976286280350090799388909587060241287666545341940158661052584060701841947200901910912273193298650156782929545680324771302748590589061792245363054977512313161523248215761503691988438775496704) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 8965727053400039/15458150092069033378781407563727949377195709318825739994628941005806076569158241698144775066327690311849854464126008708709460314644171950622971634693868322994787923259293696) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -2905897956984093/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))) (if (<=.f64 im -6740863435464503/78382132970517478991165606422426233672355708521949855379734648809861125861064803929830588940942115354940041435601982738271645192059633193360683542052684438972998018132574030730004068581526319939960438784) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -5159126280621731/2063650512248692368563827284830142994214247367328599695812346519635444931862206482321942405811160890213571855442410658901884170154307365379884917884620857722298385484371113610034107490923540785363375909797699954703703235518560788042337487885808736236287260081631789056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 8695209426788831/3864537523017258344695351890931987344298927329706434998657235251451519142289560424536193766581922577962463616031502177177365078661042987655742908673467080748696980814823424) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 7985044781431033/2348542582773833227889480596789337027375682548908319870707290971532209025114608443463698998384768703031934976) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 6605074233567479/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -36999999999999998842372096) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5324132520958563/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -1056844162248225/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1748464024965005/2462625387274654950767440006258975862817483704404090416746768337765357610718575663213391640930307227550414249394176) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -3448813850702769/313528531882069915964662425689704934689422834087799421518938595239444503444259215719322355763768461419760165742407930953086580768238532773442734168210737755891992072530296122920016274326105279759841755136) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im -5159126280621731/4127301024497384737127654569660285988428494734657199391624693039270889863724412964643884811622321780427143710884821317803768340308614730759769835769241715444596770968742227220068214981847081570726751819595399909407406471037121576084674975771617472472574520163263578112) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -381110944590811/1438154507889852726183444152631219786894381583153845258187440649261861406444007705061667818579260288168960911038971146861270318150515332979942779445115792995022143147398923882210417756809968752955624663616680046150705205458739703051791304884326617897306804085476690385919577967507837730438682850636993793097728) (*.f64 1/2 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3277127819518635/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 6124302029392433/1093625362391505962186251113558810682676584715446606218212885303204976499599687961611756588511526912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 5828006676677187/971334446112864535459730953411759453321203419526069760625906204869452142602604249088) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -13199999999999999563792384) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7098843361278085/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -2379227053564453/2379227053564452900476899997039840896210016322655031134489234974905505051456646997672269303193850160943677958064308756880727336392871849132465328929763831401252753344715935798308298255734876378992382713251762299529708397931004608141051358304557852932819272168726630260518024558103494656) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4173700524858639/30916300184138066757562815127455898754391418637651479989257882011612153138316483396289550132655380623699708928252017417418920629288343901245943269387736645989575846518587392) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 96326941871583/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 6993608012012625/3885337784451458141838923813647037813284813678104279042503624819477808570410416996352) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -31999999999999999463129088) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1419768672255617/1267650600228229401496703205376) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6484356997289707/1852673427797059126777135760139006525652319754650249024631321344126610074238976) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -5600000000000000094960112154916703958566273302921216) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -9000000000000000385875968) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5324132520958563/5070602400912917605986812821504) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3490733165718107/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -20240225330731/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
Compiler

Compiled 679 to 515 computations (24.2% saved)

soundness1.8s (14.8%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
03075628
17455598
223885528
352845528
03075628
17455598
223885528
352845528
03624454
111764302
250674022
03075628
17455598
223885528
352845528
01191196
12741180
26081156
315791144
427821144
537351144
641921144
742741144
843371144
943981144
1064151144
1166191144
1266801144
1367411144
1468021144
1568631144
1669241144
1769851144
1870461144
1979951144
03075628
17455598
223885528
352845528
03985025
112054969
238564823
363214811
03075628
17455598
223885528
352845528
03075628
17455598
223885528
352845528
03985025
112054969
238564823
363214811
03075628
17455598
223885528
352845528
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 825 to 627 computations (24% saved)

end382.0ms (3.2%)

Compiler

Compiled 663 to 485 computations (26.8% saved)

Profiling

Loading profile data...