Details

Time bar (total: 11.5s)

analyze527.0ms (4.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
0%0%50%50%0%0%0%2
0%0%50%50%0%0%0%3
12.5%6.2%43.7%50%0%0%0%4
25%12.5%37.5%50%0%0%0%5
37.5%18.7%31.2%50%0%0%0%6
46.9%23.4%26.5%50%0%0%0%7
54.7%27.3%22.6%50%0%0%0%8
60.2%30%19.9%50%0%0%0%9
64.5%32.2%17.8%50%0%0%0%10
67.4%33.7%16.3%50%0%0%0%11
69.6%34.8%15.2%50%0%0%0%12
Compiler

Compiled 20 to 14 computations (30% saved)

sample3.8s (33.4%)

Results
2.0s6422×body256valid
837.0ms673×body2048valid
534.0ms439×body1024valid
376.0ms506×body4096valid
44.0ms216×body512valid
Bogosity

preprocess111.0ms (1%)

Algorithm
egg-herbie
Rules
1106×rational.json-simplify-2
920×rational.json-simplify-44
900×rational.json-simplify-37
832×rational.json-simplify-39
812×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02190
12890
23790
37590
437990
5397090
6626590
7736790
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 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) im))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
1096×rational.json-simplify-2
938×rational.json-simplify-44
904×rational.json-simplify-37
828×rational.json-simplify-47
820×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
12045
22945
36745
437245
5398245
6628245
7738445
Stop Event
node limit
Counts
1 → 1
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))))

eval0.0ms (0%)

Compiler

Compiled 17 to 12 computations (29.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
37.4b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
37.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 17 to 12 computations (29.4% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 re re) (*.f64 im im))
0.9b
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
27.2b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 77 to 19 computations (75.3% saved)

series5.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite159.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
2130×rational.json-1
2130×rational.json-2
1300×rational.json-simplify-35
872×exponential.json-3
872×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01071
16571
214871
341871
4197971
5675871
Stop Event
node limit
Counts
3 → 81
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))
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 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(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 (*.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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 1/2)))) (#(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 -1 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 2)))) (#(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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4)) (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))
((#(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 1 (+.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 (*.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 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 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 (*.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 im im)) (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))))))) (#(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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (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 (+.f64 (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))) (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))) (+.f64 (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))))))) (#(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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (+.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)) (neg.f64 (+.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 im im)) (/.f64 1 (*.f64 re re)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))))))) (#(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)))))))))

simplify186.0ms (1.6%)

Algorithm
egg-herbie
Rules
2206×rational.json-simplify-35
888×rational.json-simplify-40
882×rational.json-simplify-1
808×rational.json-simplify-2
504×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02494475
16034355
220674337
349004331
Stop Event
node limit
Counts
153 → 185
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 (*.f64 -1 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1 re) (+.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 1/2 (/.f64 (pow.f64 im 2) 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 -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/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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -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 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) 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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 (*.f64 -1 re) im)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1 re) (+.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 -1 im)
(+.f64 (*.f64 -1 re) (*.f64 -1 im))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 -1 re) (+.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))))
(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 (+.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 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re))
(+.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 0)
(+.f64 0 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 -1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re 1)))
(+.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re 1)) -1)
(*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)
(*.f64 1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(*.f64 2 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))
(*.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 1/2)
(*.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)
(*.f64 -1 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))
(*.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 2)
(/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)
(/.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 2)
(/.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)
(/.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)
(/.f64 (*.f64 2 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4)) (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))) 16)
(pow.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)
(neg.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.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 1 (+.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 (*.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 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 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 (*.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 im im)) (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))))
(/.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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))) (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))) (+.f64 (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))))
(/.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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.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 (*.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)) (neg.f64 (+.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 im im)) (/.f64 1 (*.f64 re re)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))))
(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)))))
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 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/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) 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/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/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
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/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 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 re (+.f64 (*.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 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.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 (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 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (neg.f64 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)))))
(+.f64 (neg.f64 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 6) (pow.f64 re 5)) -1/16) (+.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 (/.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 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))))
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/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 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 re (+.f64 (*.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))))))
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 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/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (*.f64 1/2 (/.f64 (pow.f64 re 2) 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/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/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(*.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 (*.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 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 6) (pow.f64 im 5)) -1/16)))
(+.f64 (+.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 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
im
(+.f64 (*.f64 -1 re) im)
(+.f64 im (neg.f64 re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (neg.f64 re)))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (neg.f64 re)))
(+.f64 (*.f64 -1 re) (+.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 im (neg.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im (neg.f64 re)) (*.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/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (neg.f64 re))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (neg.f64 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) 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 -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 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 (*.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/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.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 -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 -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/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (+.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/2 (/.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/64) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))))
(+.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 -1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (+.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/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 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 re -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) (*.f64 re -2)))
(+.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 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -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 re -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 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 re -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 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 re -2))))
(+.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 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (*.f64 re -2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) 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 -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 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 (*.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/2 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 8)) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (+.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/2 (/.f64 (*.f64 (pow.f64 im 8) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) re))))
(+.f64 (+.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 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (/.f64 (pow.f64 im 8) 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 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (*.f64 (pow.f64 im 8) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re))))))
(+.f64 (*.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 -1/2 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) (/.f64 (pow.f64 im 8) re))))))
im
(+.f64 (*.f64 -1 re) im)
(+.f64 im (neg.f64 re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (neg.f64 re)))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (neg.f64 re)))
(+.f64 (*.f64 -1 re) (+.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 im (neg.f64 re))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im (neg.f64 re)) (*.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/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (neg.f64 re))))
(+.f64 im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (neg.f64 re))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1 re) (*.f64 -1 im))
(+.f64 (neg.f64 re) (*.f64 im -1))
(*.f64 -1 (+.f64 im re))
(neg.f64 (+.f64 im re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 -1 (+.f64 im re)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (neg.f64 (+.f64 im re)))
(+.f64 (*.f64 -1 re) (+.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 (neg.f64 re) (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 -1 (+.f64 im re)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 -1 (+.f64 im re))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (neg.f64 (+.f64 im re))))
(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 (+.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 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(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 (*.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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 0)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 0 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 -1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re 1)))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(+.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 re 1)) -1)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 2 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 1/2)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 -1 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 1/2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 2)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2) 2)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (*.f64 2 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) -2)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4)) 8)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4)) (*.f64 2 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))) 16)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(pow.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 1)
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(neg.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(-.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 1 (+.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 (*.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 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 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 (*.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 im im)) (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))))
(+.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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (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 (+.f64 (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))) (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))) (+.f64 (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))))
(+.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 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.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 (*.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 (*.f64 re re) (*.f64 im im))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (neg.f64 (+.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 im im)) (/.f64 1 (*.f64 re re)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 im im)) (/.f64 1 (*.f64 re re)))))
(+.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))

eval178.0ms (1.6%)

Compiler

Compiled 4879 to 2999 computations (38.5% saved)

prune384.0ms (3.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1814185
Fresh000
Picked011
Done000
Total1815186
Error
8.6b
Counts
186 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
37.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
60.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))
31.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
52.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 61 to 49 computations (19.7% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 52 to 39 computations (25% saved)

series7.0ms (0.1%)

Counts
4 → 36
Calls

24 calls:

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

rewrite121.0ms (1.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01274
18162
218562
339762
499662
5433462
Stop Event
node limit
Counts
4 → 384
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) 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 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(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) 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 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 (/.f64 2 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 (/.f64 1 (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 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 2)))) (#(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/2 (/.f64 1/2 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 2 (*.f64 re 8)) 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 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 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) (/.f64 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 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 1 (*.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 (pow.f64 im 2) (*.f64 re 4)))))) (#(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 2 (/.f64 1 re)) (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (*.f64 (pow.f64 im 2) 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 4)))) (#(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 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (/.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1/2 (neg.f64 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 (neg.f64 (+.f64 re re))))))) (#(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 1/2 re)) (/.f64 (*.f64 2 (pow.f64 im 2)) 1/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 (*.f64 1/2 (pow.f64 im 2)) (*.f64 2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (pow.f64 im 2)) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 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 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 re) (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 4))))) (#(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/8 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (*.f64 2 (/.f64 1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 1/8) 8)))) (#(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 neg.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(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) 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 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (*.f64 re 4) (neg.f64 (*.f64 (pow.f64 im 2) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (*.f64 (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 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (*.f64 (*.f64 2 (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 re) (*.f64 (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 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 4 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 (*.f64 2 (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 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (neg.f64 (+.f64 re re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (*.f64 (neg.f64 (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 (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 (pow.f64 im 2)) (*.f64 1/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 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (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 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4) 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 4 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) (*.f64 (/.f64 re (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) (/.f64 2 re)) (*.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 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) -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 (pow.f64 im 2) 8) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 8 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (*.f64 2 (*.f64 re 8)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 4 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 8) (*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -2) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 re)) (*.f64 2 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 re) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 re) (*.f64 1/2 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 1 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (*.f64 re -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (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 (*.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 8 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 re 8) (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 -2) (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 (neg.f64 (+.f64 re re)) (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (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 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 2 (*.f64 re 8)) 1))))) (#(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 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (neg.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) (*.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 -1 (*.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))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(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 2 re) (*.f64 2 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 re (/.f64 2 (pow.f64 im 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 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 re -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (neg.f64 (*.f64 re 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 2 (*.f64 re 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (neg.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 8) re) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) 1/2) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) 1/2) (*.f64 re 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/2) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 8) 1/2) (*.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) 1/2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 2) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 1 (pow.f64 im 2))) (+.f64 re re))))) (#(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 -1 (/.f64 1 (pow.f64 im 2))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 1 (pow.f64 im 2))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (/.f64 1 re)) (/.f64 1 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (/.f64 1 (pow.f64 im 2))) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (/.f64 1 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 re)) -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 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (/.f64 (pow.f64 im 2) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 8) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1/2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.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 (/.f64 (/.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 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 re (/.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))) (*.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))))) (#(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 neg.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re 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 0 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 re 4)))))) (#(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 (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))))) (#(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 (pow.f64 im 2) (*.f64 -1 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (*.f64 -1 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (neg.f64 (neg.f64 (+.f64 re 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 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))))) (#(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 1 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.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 (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)) (*.f64 -2 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1 (*.f64 2 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (*.f64 (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 (pow.f64 im 2) (/.f64 2 re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 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 (pow.f64 im 2) 4) (*.f64 4 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 (*.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 re) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 re) (*.f64 (/.f64 1 (pow.f64 im 2)) 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 (neg.f64 (pow.f64 im 2)) (*.f64 -1 (+.f64 re re)))))) (#(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 (/.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))))) (#(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 (/.f64 re (neg.f64 (pow.f64 im 2))) 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 re (*.f64 (pow.f64 im 2) -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 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4) 1))))) (#(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 4 (/.f64 (*.f64 re 8) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 re 4) (*.f64 1/2 (pow.f64 im 2))))))) (#(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 (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 (pow.f64 im 2) 8) (*.f64 (*.f64 2 (*.f64 re 8)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 8 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 4 (*.f64 re 4)))))) (#(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 1/4 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)))))) (#(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 (*.f64 re -2) 1/2))))) (#(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 (neg.f64 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (*.f64 re -2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (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 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(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 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 4))))) (#(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 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 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 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 2 (*.f64 re 8)) 2))))) (#(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 (*.f64 1/2 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 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 (/.f64 re (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 re 8)) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 1/8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 re -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (neg.f64 (*.f64 re 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(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 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 re)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 4) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 (+.f64 re re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (+.f64 re re))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 re re) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 re 4) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 (neg.f64 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 (pow.f64 im 2) -1/2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 1/2 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 (*.f64 1/2 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 (*.f64 1/2 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 (+.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) 4)) (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (*.f64 (/.f64 re (pow.f64 im 2)) 4)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (*.f64 (/.f64 re (pow.f64 im 2)) 4)))))) (#(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) (neg.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re))))))

simplify297.0ms (2.6%)

Algorithm
egg-herbie
Rules
1614×rational.json-simplify-51
1324×rational.json-simplify-61
1252×rational.json-simplify-49
864×rational.json-simplify-2
810×rational.json-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06646624
124056610
255676610
Stop Event
node limit
Counts
420 → 388
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 1/4)
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))) 16)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.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) re) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.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 (/.f64 2 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) 1))
(*.f64 re (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 2)
(*.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/2 (/.f64 1/2 re)) 2))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re 8)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 2 (*.f64 re 8)) 1))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/4 (/.f64 1 re)))
(*.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 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -1 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1))
(*.f64 -1 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 1 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 4 (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(*.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 2 (/.f64 1 re)) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (*.f64 (pow.f64 im 2) 1/4) 2))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 4)
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (/.f64 (pow.f64 im 2) 1/2))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1/2 (neg.f64 re)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (neg.f64 (+.f64 re re))))
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) (pow.f64 im 2))
(*.f64 (*.f64 1/2 (/.f64 1/2 re)) (/.f64 (*.f64 2 (pow.f64 im 2)) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 2 (/.f64 1 re)))
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (/.f64 2 re))
(*.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 2 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 2 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 1/8 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/2))
(*.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 1/8) 8)
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(neg.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.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) re) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 2 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1/2))
(/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 2 (/.f64 (*.f64 re 4) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 1/2 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)))
(/.f64 1/2 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 re (*.f64 (pow.f64 im 2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 1 (/.f64 re (pow.f64 im 2)))
(/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 1 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 2 (/.f64 1 re)))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (neg.f64 re)))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1 (neg.f64 (+.f64 re re))))
(/.f64 (+.f64 re re) (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 2)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 4 (/.f64 1 re)))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (neg.f64 re)))
(/.f64 (*.f64 re 4) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 re 4) (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 (/.f64 1 re)))
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (neg.f64 (+.f64 re re)) 1/2))
(/.f64 (neg.f64 re) (*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 -1 (*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1))
(/.f64 -1 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4) 1/2))
(/.f64 4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 4 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1))
(/.f64 4 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 4 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 4)
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 re 8))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 8 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (*.f64 2 (*.f64 re 8)) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 4 (+.f64 re re)))
(/.f64 (*.f64 re 8) (*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 re -2) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 2 (/.f64 1 re)) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/4)
(/.f64 (/.f64 1/2 re) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (/.f64 1/2 re) (*.f64 1/2 (/.f64 1 (pow.f64 im 2))))
(/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 1 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 re -2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (+.f64 re re)))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (*.f64 re -2)) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1/2))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 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) re))
(/.f64 8 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 8 (/.f64 (*.f64 re 8) (pow.f64 im 2)))
(/.f64 -2 (*.f64 2 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 -2 (*.f64 (*.f64 re -2) (/.f64 1 (pow.f64 im 2))))
(/.f64 -2 (*.f64 (neg.f64 (+.f64 re re)) (/.f64 1 (pow.f64 im 2))))
(/.f64 -2 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 re 8)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 2 (*.f64 re 8)) 1))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (neg.f64 re) 1/2))
(/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 1/2))
(/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 1/2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 -1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 2 re) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 re -2)))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 re 4)))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 re -2)) 1))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (neg.f64 (*.f64 re 4)) 1))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (+.f64 re re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 re -2)))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 2 (*.f64 re 8))))
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (*.f64 re -2))))
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (neg.f64 (*.f64 re 4))))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 re 4))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (neg.f64 (*.f64 re 8)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 8) re) 8)
(/.f64 (/.f64 (pow.f64 im 2) 1/2) (+.f64 re re))
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) 1/2) (*.f64 re 4))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) 1/2) (*.f64 re 8))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (*.f64 re -2))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (neg.f64 (+.f64 re re)))
(/.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/2) 8)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 8) 1/2) (*.f64 2 (*.f64 re 8)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 2 (*.f64 re -2)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) 1/2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 2) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 2 (/.f64 1 (pow.f64 im 2))) (+.f64 re re))
(/.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (/.f64 -1 (/.f64 1 (pow.f64 im 2))) (neg.f64 re))
(/.f64 (/.f64 4 (/.f64 1 (pow.f64 im 2))) (*.f64 re 4))
(/.f64 (/.f64 (*.f64 2 (/.f64 1 re)) (/.f64 1 (pow.f64 im 2))) 2)
(/.f64 (/.f64 -2 (/.f64 1 (pow.f64 im 2))) (*.f64 re -2))
(/.f64 (/.f64 -2 (/.f64 1 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 re)) -2)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 re)) -4)
(/.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.f64 (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (pow.f64 im 2))
(/.f64 (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (pow.f64 im 2) re))
(/.f64 (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 re 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 -1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (/.f64 4 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(/.f64 (/.f64 (*.f64 re 8) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) 8))
(/.f64 (/.f64 (*.f64 re -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1 re))
(/.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 4)
(/.f64 (/.f64 (/.f64 1/2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1/2 re))
(/.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) -1)
(/.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 (pow.f64 im 2) re))
(/.f64 (/.f64 1 (*.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 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 4 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))) -1)
(/.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 re 4))
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (neg.f64 (+.f64 re re)))
(/.f64 (+.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))
(/.f64 (+.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (+.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))) (*.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(neg.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))
(+.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 re 4)) (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(-.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 (pow.f64 im 2)) 4))
(/.f64 2 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1))
(/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.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 (pow.f64 im 2) (*.f64 -1 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) (*.f64 -1 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (/.f64 (pow.f64 im 2) re) 2)
(/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))
(/.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 1 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 1 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.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)) (*.f64 -2 (*.f64 re -2)))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 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 (pow.f64 im 2) 4) (*.f64 4 (+.f64 re re)))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (*.f64 re -2)))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 re 4) (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 1 re) (*.f64 (/.f64 1 (pow.f64 im 2)) 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 (neg.f64 (pow.f64 im 2)) (*.f64 -1 (+.f64 re re)))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 -1 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1/2))
(/.f64 -1 (*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 2))
(/.f64 -1 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 -1 (/.f64 re (*.f64 (pow.f64 im 2) -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 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 2))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4) 1))
(/.f64 4 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 4 (/.f64 (*.f64 re 8) (pow.f64 im 2)))
(/.f64 4 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1/2))
(/.f64 4 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 2))
(/.f64 4 (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 4))
(/.f64 4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 4 (/.f64 (*.f64 re 4) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 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 (pow.f64 im 2) 8) (*.f64 (*.f64 2 (*.f64 re 8)) 1))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 8 (+.f64 re re)))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 4 (*.f64 re 4)))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/2)
(/.f64 1/4 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)))
(/.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 (*.f64 re -2) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (neg.f64 (+.f64 re re)) 1/2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (neg.f64 re) 4))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (*.f64 re -2)) 1))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.f64 8 (/.f64 (*.f64 re 8) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 4))
(/.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 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4) 16)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 2 (*.f64 re 8))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 2 (*.f64 re 8)) 2))
(/.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 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(/.f64 (/.f64 2 (*.f64 re 8)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 1/8) 1/4)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (*.f64 re -2))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 re -2)) 2))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 2))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (neg.f64 (*.f64 re 4)) 2))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (*.f64 re -2)))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (neg.f64 (+.f64 re re))))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 re 8)))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))
(/.f64 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 -1/2 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 re)) -4)
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))) -2)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) -1)
(/.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 4) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) -1)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 (+.f64 re re))) -1)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (+.f64 re re))) -4)
(/.f64 (/.f64 2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (/.f64 (pow.f64 im 2) re))
(/.f64 (/.f64 1 (*.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 (/.f64 (+.f64 re re) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (pow.f64 im 2))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (*.f64 re 4) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 4 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) -1)
(/.f64 (/.f64 1/2 (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (/.f64 1/2 (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re) -1)
(/.f64 (/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (+.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) 4)) (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) 4)))
(/.f64 (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (*.f64 (/.f64 re (pow.f64 im 2)) 4)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (*.f64 (/.f64 re (pow.f64 im 2)) 4)))
(pow.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2))
(neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)))
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 (+.f64 re re))))
(neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)))
(neg.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 1/4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(/.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) 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 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.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) (*.f64 1/2 (*.f64 2 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 re (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 re (/.f64 1 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 re (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 2)
(/.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)) (*.f64 (*.f64 1/2 (/.f64 1/2 re)) 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1/2)
(/.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 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 2 (*.f64 re 8)) 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 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 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (/.f64 1 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/4)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 1 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (*.f64 (pow.f64 im 2) 1/4) 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 4)
(/.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 1/2 re) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (/.f64 (pow.f64 im 2) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1/2 (neg.f64 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 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (/.f64 1/2 re)) (/.f64 (*.f64 2 (pow.f64 im 2)) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 2 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (/.f64 2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (*.f64 re (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 2 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (neg.f64 (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 2 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/8 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (*.f64 2 (/.f64 1 re)) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 1/8) 8)
(/.f64 (pow.f64 im 2) re)
(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)
(neg.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(/.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) 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 2 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (/.f64 (*.f64 re 4) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 1/2 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 1/2 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 re (*.f64 (pow.f64 im 2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(/.f64 1 (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 1 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 2 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 re re) (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 4 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re 4) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re 4) (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (neg.f64 (+.f64 re re)) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 re) (*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 4 (/.f64 (*.f64 re 8) (neg.f64 (*.f64 (pow.f64 im 2) -2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 re 8))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 8 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (*.f64 2 (*.f64 re 8)) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 4 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re 8) (*.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 re -2) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 1 re)) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1/2 re) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1/2 re) (*.f64 1/2 (/.f64 1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 1 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 re -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (*.f64 re -2)) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.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) re)
(/.f64 8 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 8 (/.f64 (*.f64 re 8) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (*.f64 2 (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (*.f64 (*.f64 re -2) (/.f64 1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (*.f64 (neg.f64 (+.f64 re re)) (/.f64 1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 2 (*.f64 re 8)) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (neg.f64 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 1/2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1/2 (pow.f64 im 2)) (*.f64 (/.f64 1/2 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 -1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 re) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 re (/.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 re -2)) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (neg.f64 (*.f64 re 4)) 1))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (neg.f64 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4)) 16)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 2) 8))) (*.f64 2 (*.f64 2 (*.f64 re 8))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (*.f64 re -2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 2 (neg.f64 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 8)) (neg.f64 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 8) re) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) 1/2) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) 1/2) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) 1/2) (*.f64 re 8))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (*.f64 re -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/2) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 8) 1/2) (*.f64 2 (*.f64 re 8)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 2 (*.f64 re -2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 2 (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) 1/2) (neg.f64 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 2) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 (/.f64 1 (pow.f64 im 2))) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 1 (pow.f64 im 2))) (neg.f64 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 4 (/.f64 1 (pow.f64 im 2))) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 2 (/.f64 1 re)) (/.f64 1 (pow.f64 im 2))) 2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -2 (/.f64 1 (pow.f64 im 2))) (*.f64 re -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -2 (/.f64 1 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 re)) -2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 re)) -4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1/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) re)
(/.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 4) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 4 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 8) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) 8))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re -2) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 1/2 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 (*.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) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 4 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 4 (neg.f64 (pow.f64 im 2)))) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2))) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))) (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 re (/.f64 2 (pow.f64 im 2)))) (*.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))) (*.f64 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4))))
(/.f64 (pow.f64 im 2) re)
(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)
(neg.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(+.f64 0 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(+.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 2 (/.f64 (*.f64 re -2) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1/2 (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (+.f64 re re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (/.f64 re 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (*.f64 -1 (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (*.f64 -1 (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) (neg.f64 (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/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 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1 (*.f64 re (/.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1 (*.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (+.f64 re re) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -1 (*.f64 2 (neg.f64 (+.f64 re re)))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 8))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 re 4) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 4 (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 -4 (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 re 4) (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1 re) (/.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1 re) (*.f64 (/.f64 1 (pow.f64 im 2)) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 re -2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 -1 (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.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 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (neg.f64 (*.f64 re (/.f64 2 (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1 (/.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.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 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4) 1))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (/.f64 (*.f64 re 8) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (*.f64 (*.f64 re (/.f64 2 (pow.f64 im 2))) 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 4 (/.f64 (*.f64 re 4) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/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 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 2 (*.f64 re 8)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 re 8) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (*.f64 2 (*.f64 re 8)) 1))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 8 (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 4 (*.f64 re 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 1/2)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 1/4 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1/2 re) (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 2 (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (neg.f64 (*.f64 re 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (*.f64 re -2) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.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 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (neg.f64 re) 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (*.f64 re -2)) 1))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 1))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (+.f64 re re)) (*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 8 (/.f64 (*.f64 re 8) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.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 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 4) 16)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.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 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 2 (*.f64 re 8)) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/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 1/2 re))
(/.f64 (*.f64 1/2 (pow.f64 im 2)) re)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) -1/2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 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) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 2 (*.f64 re 8)) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 1/2 re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 1/8) 1/4)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (*.f64 re -2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (neg.f64 (+.f64 re re)))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (*.f64 re -2)) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (*.f64 2 (neg.f64 (+.f64 re re))) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 (neg.f64 (*.f64 re 4)) 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (*.f64 4 (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 4 (neg.f64 (pow.f64 im 2))) (neg.f64 (*.f64 re 8)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 -1/2 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 1/2 (pow.f64 im 2)) 1/2) (+.f64 re re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 re)) -4)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 2 (pow.f64 im 2)) (neg.f64 (+.f64 re re))) -2)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 4) (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 (+.f64 re re))) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (neg.f64 (+.f64 re re))) -4)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 2 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1 (*.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 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (+.f64 re re) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 re 4) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 4 (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (neg.f64 (+.f64 re re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 4)) (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1/2 (neg.f64 re)) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 1/2 (/.f64 1 (pow.f64 im 2))) re)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re) -1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) re) (/.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (/.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (neg.f64 (/.f64 (*.f64 1/2 re) (pow.f64 im 2))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 re (/.f64 1/2 (pow.f64 im 2)))) (neg.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 (/.f64 1/2 (pow.f64 im 2)) (neg.f64 re)) (*.f64 (/.f64 re (pow.f64 im 2)) (neg.f64 (/.f64 re (pow.f64 im 2)))))
(/.f64 (+.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) 4)) (*.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(/.f64 (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (*.f64 (/.f64 re (pow.f64 im 2)) 4)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) (*.f64 (/.f64 re (pow.f64 im 2)) 4)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(pow.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(neg.f64 (/.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 1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re -2)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 (+.f64 re re))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(neg.f64 (/.f64 (neg.f64 (pow.f64 im 2)) (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))
(neg.f64 (/.f64 (*.f64 (pow.f64 im 2) -1/2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1/2)
(*.f64 (pow.f64 im 2) (/.f64 1/2 re))

localize13.0ms (0.1%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

localize9.0ms (0.1%)

Compiler

Compiled 28 to 15 computations (46.4% saved)

localize9.0ms (0.1%)

Compiler

Compiled 27 to 15 computations (44.4% saved)

eval231.0ms (2%)

Compiler

Compiled 7112 to 5628 computations (20.9% saved)

prune77.0ms (0.7%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3844388
Fresh000
Picked101
Done134
Total3867393
Error
0.4b
Counts
393 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
44.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
52.8b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
52.9b
(*.f64 1/2 (sqrt.f64 (/.f64 1 (/.f64 re (pow.f64 im 2)))))
37.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
31.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
57.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2))))))))))
Compiler

Compiled 98 to 78 computations (20.4% saved)

localize64.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.3b
(/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2))))
7.9b
(/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2)))
18.9b
(sqrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2)))))))))
33.5b
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2))))))
Compiler

Compiled 172 to 115 computations (33.1% saved)

series4.0ms (0%)

Counts
4 → 84
Calls

24 calls:

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

rewrite737.0ms (6.4%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
019186
1147174
2452122
32071114
45411114
Stop Event
node limit
Counts
4 → 115
Calls
Call 1
Inputs
(*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2))))))
(sqrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2)))))))))
(/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2)))
(/.f64 re (/.f64 (neg.f64 re) (/.f64 re (pow.f64 im 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -2)) (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 -1 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (neg.f64 (pow.f64 im 2)))) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (neg.f64 re) (/.f64 re (pow.f64 (*.f64 im im) 2))) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 re (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (+.f64 re re) (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 2 (*.f64 (+.f64 re re) (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 (neg.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (pow.f64 im 2) (neg.f64 re)) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 re -2)) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2))) (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2))) (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (+.f64 (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4) (+.f64 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -8 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4) (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))) (-.f64 0 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (-.f64 0 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4) (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (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 re (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re))))) (#(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 (neg.f64 (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) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -2) (/.f64 -1 (/.f64 (*.f64 re -2) (pow.f64 im 2))))))) (#(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) re) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 (*.f64 re -2) (pow.f64 im 2))) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 im 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 re (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 0 re) (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 0 (neg.f64 re)) (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 0 (+.f64 re re)) (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 (/.f64 re (pow.f64 im 2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1 (*.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re re) (pow.f64 im 2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (*.f64 re (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 re (pow.f64 im 2)) re) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) -2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (+.f64 re re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 re (pow.f64 im 2)))))))

simplify253.0ms (2.2%)

Algorithm
egg-herbie
Rules
1562×rational.json-simplify-57
1046×rational.json-simplify-43
826×rational.json-simplify-2
726×rational.json-simplify-50
676×rational.json-simplify-41
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02323265
16783197
225092957
348902957
Stop Event
node limit
Counts
199 → 131
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(+.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 0)
(+.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -2)) (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -2)))
(+.f64 0 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(-.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 0)
(/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 2 (+.f64 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 -1 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))) re))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (neg.f64 (pow.f64 im 2)))) re))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (neg.f64 re) (/.f64 re (pow.f64 (*.f64 im im) 2))) re))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) re))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 re)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 re (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))) (neg.f64 re)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (+.f64 re re) (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 re -2)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))) (*.f64 re -2)))
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 2 (*.f64 (+.f64 re re) (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 (neg.f64 re) 4)))
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (pow.f64 im 2) (neg.f64 re)) re))
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))) (neg.f64 re)))
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 re -2)) (+.f64 re re)))
(/.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 1)
(/.f64 1 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2))) (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2)))))
(/.f64 -2 (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 2 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 2)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) -2))
(/.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2))) (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2)))))
(/.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 -4 (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 -4 (+.f64 (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2))))))
(/.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4) 4)
(/.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4) (+.f64 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 -8 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2))
(/.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (+.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4) (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4)) 8)
(/.f64 (+.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (+.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (+.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))) (-.f64 0 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (neg.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (pow.f64 im 2))
(/.f64 (neg.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (neg.f64 (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (neg.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (-.f64 0 (*.f64 (pow.f64 im 2) 4)))
(pow.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 1)
(+.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 0)
(+.f64 0 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))
(-.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 0)
(*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)
(*.f64 1 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))
(/.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4) (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4)) 8)
(pow.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)
(+.f64 -1 (-.f64 1 (pow.f64 im 2)))
(+.f64 0 (neg.f64 (pow.f64 im 2)))
(+.f64 (neg.f64 (pow.f64 im 2)) 0)
(+.f64 (-.f64 1 (pow.f64 im 2)) -1)
(-.f64 0 (pow.f64 im 2))
(-.f64 (neg.f64 (pow.f64 im 2)) 0)
(*.f64 -1 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) -1)
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) -2))
(*.f64 1 (neg.f64 (pow.f64 im 2)))
(*.f64 (*.f64 2 (pow.f64 im 2)) -1/2)
(*.f64 (*.f64 (pow.f64 im 2) -2) 1/2)
(*.f64 (*.f64 re -2) (/.f64 -1 (/.f64 (*.f64 re -2) (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re)
(*.f64 (/.f64 -1 (/.f64 (*.f64 re -2) (pow.f64 im 2))) (*.f64 re -2))
(*.f64 -1/2 (*.f64 2 (pow.f64 im 2)))
(pow.f64 (neg.f64 (pow.f64 im 2)) 1)
(neg.f64 (pow.f64 im 2))
(+.f64 -1 (-.f64 1 (/.f64 re (pow.f64 im 2))))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 0)
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 re))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 (neg.f64 re)))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 (+.f64 re re)))
(+.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 (-.f64 1 (/.f64 re (pow.f64 im 2))) -1)
(+.f64 (/.f64 0 re) (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 (/.f64 0 (neg.f64 re)) (/.f64 re (neg.f64 (pow.f64 im 2))))
(+.f64 (/.f64 0 (+.f64 re re)) (/.f64 re (neg.f64 (pow.f64 im 2))))
(-.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 0)
(-.f64 0 (/.f64 re (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) re)
(*.f64 re (/.f64 -1 (pow.f64 im 2)))
(*.f64 (neg.f64 re) (/.f64 1 (pow.f64 im 2)))
(*.f64 (neg.f64 re) (/.f64 (/.f64 re (pow.f64 im 2)) re))
(*.f64 (/.f64 re (pow.f64 im 2)) -1)
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1)
(*.f64 1/2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(*.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) 1/2)
(*.f64 (+.f64 re re) (/.f64 1 (*.f64 (pow.f64 im 2) -2)))
(*.f64 (/.f64 (+.f64 re re) (pow.f64 im 2)) -1/2)
(*.f64 (/.f64 -1 re) (*.f64 re (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 1 (pow.f64 im 2)) (neg.f64 re))
(*.f64 (/.f64 1 re) (/.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 (/.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))
(*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) re) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) -2)) (+.f64 re re))
(*.f64 -1/2 (/.f64 (+.f64 re re) (pow.f64 im 2)))
(pow.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1)
(neg.f64 (/.f64 re (pow.f64 im 2)))
Outputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -2)) (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -2)))
(+.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (*.f64 (pow.f64 im 2) -2)) (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (neg.f64 re)) (*.f64 (pow.f64 im 2) -2)))
(+.f64 (/.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (/.f64 1/2 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(+.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (+.f64 re re))) (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (pow.f64 im 2) (+.f64 re re))))
(+.f64 0 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 0)
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (+.f64 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 -1 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (neg.f64 (pow.f64 im 2)))) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (neg.f64 re) (/.f64 re (pow.f64 (*.f64 im im) 2))) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 re (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 (+.f64 re re) (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 re -2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (/.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))) (*.f64 re -2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (*.f64 2 (*.f64 (+.f64 re re) (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 (neg.f64 re) 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (pow.f64 im 2) (neg.f64 re)) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 re -2)) (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 1)
(/.f64 (pow.f64 im 2) re)
(/.f64 1 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2))) (/.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 -1 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2))) (/.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) (/.f64 -1 (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 -1 (pow.f64 im 2))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -4 (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -4 (+.f64 (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 (*.f64 im im) 2))))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (/.f64 -1 (pow.f64 im 2)) 4) (+.f64 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -8 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4) (*.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 4)) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))) (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 -1 (pow.f64 im 2))) (-.f64 0 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 -2 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (*.f64 (pow.f64 im 2) -2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 -4 (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) (-.f64 0 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (pow.f64 im 2) re)
(pow.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))) 1)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 0)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(-.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 0)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))))
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))) 2)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4) 4)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4) (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 4)) 8)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(pow.f64 (sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2))))) 1)
(sqrt.f64 (/.f64 -1 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 (*.f64 im im) 2)))))
(sqrt.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (*.f64 (/.f64 re 1) (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 -1 (-.f64 1 (pow.f64 im 2)))
(neg.f64 (pow.f64 im 2))
(+.f64 0 (neg.f64 (pow.f64 im 2)))
(neg.f64 (pow.f64 im 2))
(+.f64 (neg.f64 (pow.f64 im 2)) 0)
(neg.f64 (pow.f64 im 2))
(+.f64 (-.f64 1 (pow.f64 im 2)) -1)
(neg.f64 (pow.f64 im 2))
(-.f64 0 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(-.f64 (neg.f64 (pow.f64 im 2)) 0)
(neg.f64 (pow.f64 im 2))
(*.f64 -1 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) -1)
(neg.f64 (pow.f64 im 2))
(*.f64 re (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (pow.f64 im 2))
(*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re))
(neg.f64 (pow.f64 im 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) -2))
(neg.f64 (pow.f64 im 2))
(*.f64 1 (neg.f64 (pow.f64 im 2)))
(neg.f64 (pow.f64 im 2))
(*.f64 (*.f64 2 (pow.f64 im 2)) -1/2)
(neg.f64 (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 2) -2) 1/2)
(neg.f64 (pow.f64 im 2))
(*.f64 (*.f64 re -2) (/.f64 -1 (/.f64 (*.f64 re -2) (pow.f64 im 2))))
(neg.f64 (pow.f64 im 2))
(*.f64 (neg.f64 (pow.f64 im 2)) 1)
(neg.f64 (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 2) re) (neg.f64 re))
(neg.f64 (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) re)
(neg.f64 (pow.f64 im 2))
(*.f64 (/.f64 -1 (/.f64 (*.f64 re -2) (pow.f64 im 2))) (*.f64 re -2))
(neg.f64 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 2 (pow.f64 im 2)))
(neg.f64 (pow.f64 im 2))
(pow.f64 (neg.f64 (pow.f64 im 2)) 1)
(neg.f64 (pow.f64 im 2))
(neg.f64 (pow.f64 im 2))
(+.f64 -1 (-.f64 1 (/.f64 re (pow.f64 im 2))))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 0)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 re))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 (neg.f64 re)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) (/.f64 0 (+.f64 re re)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (-.f64 1 (/.f64 re (pow.f64 im 2))) -1)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 0 re) (/.f64 re (neg.f64 (pow.f64 im 2))))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 0 (neg.f64 re)) (/.f64 re (neg.f64 (pow.f64 im 2))))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(+.f64 (/.f64 0 (+.f64 re re)) (/.f64 re (neg.f64 (pow.f64 im 2))))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(-.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 0)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(-.f64 0 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 -1 (pow.f64 im 2)) re)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 re (/.f64 -1 (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (neg.f64 re) (/.f64 1 (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (neg.f64 re) (/.f64 (/.f64 re (pow.f64 im 2)) re))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 re (pow.f64 im 2)) -1)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (*.f64 re -2) (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 (*.f64 re -2) (pow.f64 im 2)) 1/2)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (+.f64 re re) (/.f64 1 (*.f64 (pow.f64 im 2) -2)))
(*.f64 (+.f64 re re) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 (/.f64 (+.f64 re re) (pow.f64 im 2)) -1/2)
(*.f64 -1/2 (/.f64 (+.f64 re re) (pow.f64 im 2)))
(*.f64 (/.f64 -1 re) (*.f64 re (/.f64 re (pow.f64 im 2))))
(*.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 -1 re)))
(*.f64 (/.f64 1 (pow.f64 im 2)) (neg.f64 re))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (/.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (*.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 -1 re))
(*.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 -1 re)))
(*.f64 (/.f64 -1 re) (*.f64 re (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) re) (neg.f64 re))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) -2)) (+.f64 re re))
(*.f64 (+.f64 re re) (/.f64 1 (*.f64 (pow.f64 im 2) -2)))
(*.f64 (+.f64 re re) (/.f64 -1/2 (pow.f64 im 2)))
(*.f64 -1/2 (/.f64 (+.f64 re re) (pow.f64 im 2)))
(pow.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) 1)
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))
(neg.f64 (/.f64 re (pow.f64 im 2)))
(/.f64 re (neg.f64 (pow.f64 im 2)))

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.7b
(/.f64 1 (/.f64 re (pow.f64 im 2)))
6.3b
(/.f64 re (pow.f64 im 2))
18.9b
(sqrt.f64 (/.f64 1 (/.f64 re (pow.f64 im 2))))
Compiler

Compiled 40 to 29 computations (27.5% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

18 calls:

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

rewrite82.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01143
18343
219743
346343
4122743
5408543
Stop Event
node limit
Counts
3 → 115
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 1 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(/.f64 1 (/.f64 re (pow.f64 im 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (/.f64 re (pow.f64 im 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 1/2) (*.f64 (/.f64 re (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) (/.f64 (/.f64 re 2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 re (pow.f64 im 2)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) 1/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 2) (pow.f64 im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 re 2) (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 re (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (*.f64 1/4 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 1 (/.f64 1 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 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 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 (/.f64 re 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 re)) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 re (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.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 neg.f64 (/.f64 (/.f64 1 (/.f64 -1 re)) (pow.f64 im 2)))))))
((#(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 re re)) (/.f64 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1 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 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(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 (*.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 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 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 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 (/.f64 1 re) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.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 (*.f64 re 4)) 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 (pow.f64 im 2) (/.f64 2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) 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 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (+.f64 re 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 -1 re) (neg.f64 (pow.f64 im 2)))))) (#(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 neg.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2))) re))))))

simplify209.0ms (1.8%)

Algorithm
egg-herbie
Rules
1498×rational.json-simplify-51
1164×rational.json-simplify-44
1108×rational.json-simplify-61
1062×rational.json-simplify-47
972×rational.json-simplify-39
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02182289
14872269
213172251
361112251
Stop Event
node limit
Counts
151 → 134
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 1))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))) 16)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(+.f64 (/.f64 re (pow.f64 im 2)) 0)
(+.f64 0 (/.f64 re (pow.f64 im 2)))
(+.f64 -1 (-.f64 (/.f64 re (pow.f64 im 2)) -1))
(+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 1/2) (*.f64 (/.f64 re (pow.f64 im 2)) 1/2))
(+.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) (/.f64 (/.f64 re 2) (pow.f64 im 2)))
(+.f64 (-.f64 (/.f64 re (pow.f64 im 2)) -1) -1)
(-.f64 (/.f64 re (pow.f64 im 2)) 0)
(-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 1 (/.f64 re (pow.f64 im 2)))
(*.f64 re (/.f64 1 (pow.f64 im 2)))
(*.f64 re (*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) 1/2))
(*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))
(*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) 1/2))
(*.f64 2 (/.f64 (/.f64 re 2) (pow.f64 im 2)))
(*.f64 2 (*.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) 1))
(*.f64 2 (*.f64 (/.f64 re 2) (/.f64 1 (pow.f64 im 2))))
(*.f64 2 (*.f64 re (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (/.f64 re (pow.f64 im 2)) 1)
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) 1/2))
(*.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))
(*.f64 (+.f64 re re) (*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) 1))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) 1/2)
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (*.f64 re 4) (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) 1))
(*.f64 (*.f64 re 4) (*.f64 1/4 (/.f64 1 (pow.f64 im 2))))
(*.f64 (*.f64 re 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 1/2))
(*.f64 (/.f64 1 (pow.f64 im 2)) re)
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (/.f64 1 re)))
(*.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 1 (/.f64 1 re)) 1))
(*.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (neg.f64 re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1))
(*.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 re 1/2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 (/.f64 re 2) 1))
(*.f64 1/2 (*.f64 2 (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))
(*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) 2)
(*.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))
(pow.f64 (/.f64 re (pow.f64 im 2)) 1)
(neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))
(neg.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (neg.f64 (pow.f64 im 2)))))
(neg.f64 (/.f64 (/.f64 1 (/.f64 -1 re)) (pow.f64 im 2)))
(+.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 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(*.f64 2 (*.f64 (/.f64 1/2 re) (pow.f64 im 2)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1 re)))
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) 1/2))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 (pow.f64 im 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 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.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 (/.f64 1 re) 1/2) 1))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.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 (*.f64 re 4)) 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 (pow.f64 im 2) (/.f64 2 re)) 1/2)
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (/.f64 1 re) (/.f64 1 (/.f64 1 (pow.f64 im 2))))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) 1))
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(*.f64 (/.f64 1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))
(neg.f64 (/.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2))) re))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 1))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 re (pow.f64 im 2)) 0)
(/.f64 re (pow.f64 im 2))
(+.f64 0 (/.f64 re (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(+.f64 -1 (-.f64 (/.f64 re (pow.f64 im 2)) -1))
(/.f64 re (pow.f64 im 2))
(+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 1/2) (*.f64 (/.f64 re (pow.f64 im 2)) 1/2))
(/.f64 re (pow.f64 im 2))
(+.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) (/.f64 (/.f64 re 2) (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(+.f64 (-.f64 (/.f64 re (pow.f64 im 2)) -1) -1)
(/.f64 re (pow.f64 im 2))
(-.f64 (/.f64 re (pow.f64 im 2)) 0)
(/.f64 re (pow.f64 im 2))
(-.f64 0 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 1 (/.f64 re (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(*.f64 re (/.f64 1 (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) 1/2))
(/.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 (/.f64 2 (pow.f64 im 2)) 1/2))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) 1/2))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (/.f64 (/.f64 re 2) (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) 1))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 (/.f64 re 2) (/.f64 1 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 2 (*.f64 re (/.f64 1/2 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (pow.f64 im 2)) 1)
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/2 (/.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/2 (/.f64 re (/.f64 (pow.f64 im 2) (*.f64 2 (/.f64 re (pow.f64 im 2)))))))
(*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re (/.f64 (pow.f64 im 2) (*.f64 2 (/.f64 re (pow.f64 im 2)))))))
(*.f64 (+.f64 re re) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2))
(/.f64 re (pow.f64 im 2))
(*.f64 (+.f64 re re) (*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) 1))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) 1/2)
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re 4) (/.f64 1 (*.f64 (pow.f64 im 2) 4)))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re 4) (*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) 1))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re 4) (*.f64 1/4 (/.f64 1 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 re 4) (*.f64 1/2 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) 4) 1/4)
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) 1/2))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) re)
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (/.f64 1 re)))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 1 (/.f64 1 re)) 1))
(/.f64 re (pow.f64 im 2))
(*.f64 (neg.f64 re) (/.f64 -1 (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(*.f64 (neg.f64 re) (*.f64 (/.f64 -1 (pow.f64 im 2)) 1))
(/.f64 re (pow.f64 im 2))
(*.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re (neg.f64 (pow.f64 im 2))) -1)
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (/.f64 re 2))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 re 1/2))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 (/.f64 re 2) 1))
(/.f64 re (pow.f64 im 2))
(*.f64 1/2 (*.f64 2 (/.f64 re (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1/2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 re (pow.f64 im 2))
(*.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) 1/2) (+.f64 re re))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 (/.f64 re 2) (pow.f64 im 2)) 2)
(/.f64 re (pow.f64 im 2))
(*.f64 1/4 (*.f64 (/.f64 re (pow.f64 im 2)) 4))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 1 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 1 (*.f64 (pow.f64 im 2) 4)) (*.f64 re 4))
(/.f64 re (pow.f64 im 2))
(*.f64 (/.f64 -1 (pow.f64 im 2)) (neg.f64 re))
(/.f64 re (pow.f64 im 2))
(pow.f64 (/.f64 re (pow.f64 im 2)) 1)
(/.f64 re (pow.f64 im 2))
(neg.f64 (/.f64 re (neg.f64 (pow.f64 im 2))))
(/.f64 re (pow.f64 im 2))
(neg.f64 (/.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (neg.f64 (pow.f64 im 2)))))
(/.f64 re (pow.f64 im 2))
(neg.f64 (/.f64 (/.f64 1 (/.f64 -1 re)) (pow.f64 im 2)))
(/.f64 re (pow.f64 im 2))
(+.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 re re)) (/.f64 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 1/2 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 1 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 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.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) (*.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 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1/2))
(*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 1/2 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 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/2 (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 (pow.f64 im 2) re)) (*.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 re (/.f64 1/2 (pow.f64 im 2))) (*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.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)) (*.f64 (/.f64 1 re) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 (/.f64 1 re) 1/2) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 1/2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 (*.f64 re 4)) 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 (pow.f64 im 2) (/.f64 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 (/.f64 1 re) (*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (/.f64 -1 re) 1))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) 1/2))
(*.f64 (*.f64 2 (/.f64 1 (pow.f64 im 2))) (*.f64 1/2 (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re)) (pow.f64 im 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(/.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 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 1 re) 1/2) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (/.f64 1 (pow.f64 im 2))) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(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)
(neg.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (/.f64 1 (/.f64 -1 (pow.f64 im 2))) re))
(/.f64 (pow.f64 im 2) re)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 19 computations (32.1% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite151.0ms (1.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
15917
214117
332617
482817
5338517
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))))

simplify754.0ms (6.6%)

Algorithm
egg-herbie
Rules
4802×rational.json-simplify-41
2324×rational.json-simplify-35
1338×rational.json-simplify-2
1248×rational.json-simplify-49
964×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047568
189560
2260560
3730560
41164560
52162560
62718560
72823560
82886560
92937560
102982560
113024560
123066560
133108560
143150560
153192560
163234560
173276560
183318560
194226560
204395560
214452560
224506560
234559560
244612560
254818560
264863560
274907560
284950560
294993560
305036560
315079560
325122560
335165560
345165560
355208560
Stop Event
node limit
Counts
32 → 25
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2) 2)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 8)) 16)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 1/4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1/2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 8) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 8)) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 19 computations (29.6% saved)

series2.0ms (0%)

Counts
2 → 0
Calls

9 calls:

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

rewrite70.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1764×rational.json-simplify-35
1110×rational.json-simplify-2
1094×rational.json-1
1094×rational.json-2
1094×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
16928
215528
330828
461228
5159928
6443028
Stop Event
node limit
Counts
2 → 34
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(sqrt.f64 (/.f64 1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (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 (sqrt.f64 (/.f64 1 re)) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 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 1 (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 re)) 1)))) (#(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 4 (/.f64 (sqrt.f64 (/.f64 1 re)) 4))))) (#(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 (*.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 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) (#(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 (/.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)))))

simplify477.0ms (4.2%)

Algorithm
egg-herbie
Rules
2170×rational.json-simplify-2
2080×rational.json-simplify-53
1942×rational.json-simplify-35
1504×rational.json-simplify-1
1290×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070446
1148446
2458446
31565446
43350446
54399446
64568446
74676446
84761446
94846446
105639446
116333446
126434446
136532446
146612446
156691446
166691446
177706446
Stop Event
node limit
Counts
34 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 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 (sqrt.f64 (/.f64 1 re)) im) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8)))) 64)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 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 1 (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) 1)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 1 re)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 2) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 4) 1/4)
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) 2))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2) 2)
(*.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 (/.f64 1 re)) im) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 4)) 4)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8) 8)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8)) 16)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8))) 32)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 8)))) 64)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.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 1 (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 1 re))
(*.f64 (sqrt.f64 (/.f64 1 re)) 1)
(sqrt.f64 (/.f64 1 re))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 re)) 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)) 2) 1/2)
(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 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) 4))
(sqrt.f64 (/.f64 1 re))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2) 2)
(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))

eval344.0ms (3%)

Compiler

Compiled 7073 to 5556 computations (21.4% saved)

prune70.0ms (0.6%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New3961397
Fresh000
Picked011
Done156
Total3977404
Error
0.4b
Counts
404 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
44.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
52.8b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
52.9b
(*.f64 1/2 (sqrt.f64 (/.f64 1 (/.f64 re (pow.f64 im 2)))))
57.5b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))))
37.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
31.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
Compiler

Compiled 93 to 73 computations (21.5% saved)

localize114.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.3b
(/.f64 re (pow.f64 im 2))
7.9b
(/.f64 re (/.f64 re (pow.f64 im 2)))
18.9b
(sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))))
33.5b
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
Compiler

Compiled 101 to 69 computations (31.7% saved)

series2.0ms (0%)

Counts
3 → 60
Calls

18 calls:

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

rewrite199.0ms (1.7%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
014133
111085
232085
3126337
4417137
Stop Event
node limit
Counts
3 → 168
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 re (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))))
(/.f64 re (/.f64 re (pow.f64 im 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 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 (*.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 1 (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (neg.f64 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (/.f64 1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 re (/.f64 re (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 re (pow.f64 im 2)) (neg.f64 (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re re) (/.f64 (+.f64 re re) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re 4) (*.f64 re (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (pow.f64 im 2) (/.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 (*.f64 re 4) (/.f64 re (pow.f64 (*.f64 im im) 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 (pow.f64 im 2)) (*.f64 2 (/.f64 re (pow.f64 (*.f64 im im) 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 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 re) (*.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 re) (pow.f64 im 2)) (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (neg.f64 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im 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 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re 4) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 2 (*.f64 (*.f64 re 4) (/.f64 re (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 4) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))) (*.f64 2 (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (*.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 (pow.f64 im 2) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 re (/.f64 (*.f64 re 4) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 2 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re)) (/.f64 1 (pow.f64 im 2)))))) (#(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 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (/.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2)) (/.f64 (*.f64 re 4) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))) (/.f64 (neg.f64 re) (pow.f64 im 2)))))) (#(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 (pow.f64 im 2) (/.f64 1/2 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/2 re) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))) (neg.f64 (*.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im 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 (*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re)) (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 1 re)) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re))) (*.f64 2 (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (/.f64 (pow.f64 im 2) re))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2)))) (/.f64 (*.f64 re 4) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2))) (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2)))) (*.f64 2 (/.f64 (neg.f64 re) (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 (/.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) re) (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (+.f64 re re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 1 re)) (/.f64 re (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 re) (/.f64 re (pow.f64 im 2))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.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 (/.f64 (/.f64 re (pow.f64 im 2)) (fabs.f64 (/.f64 re (pow.f64 im 2)))) (fabs.f64 (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 (pow.f64 im 2) re)) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re (pow.f64 im 2))) (/.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2))) 2) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) re) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 2 (/.f64 (pow.f64 im 2) re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 1 re)) (/.f64 re (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) 2) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) re) (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2)) 2) (/.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (pow.f64 im 2)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (/.f64 re (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re))) (neg.f64 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 (pow.f64 im 2))) (neg.f64 (/.f64 re (pow.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 re)) (neg.f64 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (neg.f64 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2)))) (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2))) (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2)))) (/.f64 re (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 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 neg.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (pow.f64 im 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)))))
((#(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 1 (neg.f64 (pow.f64 im 2))))))) (#(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 1 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(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 re 4) (/.f64 1 (/.f64 (*.f64 re 4) (pow.f64 im 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 (/.f64 1 re) (*.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (/.f64 (pow.f64 im 2) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 -1 (/.f64 re (pow.f64 im 2))))))) (#(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 -1 (/.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (/.f64 1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) re) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (/.f64 1 re)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re 2) (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) 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 (/.f64 1 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 im 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 im 2)))))))

simplify99.0ms (0.9%)

Algorithm
egg-herbie
Rules
1416×rational.json-simplify-2
1390×rational.json-simplify-35
878×rational.json-simplify-44
848×rational.json-simplify-53
836×rational.json-simplify-49
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03213300
112143252
256143252
Stop Event
node limit
Counts
228 → 187
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.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 1 (/.f64 re (pow.f64 im 2)))
(/.f64 2 (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) (neg.f64 (neg.f64 re)))
(/.f64 (pow.f64 im 2) (/.f64 1 (/.f64 1 re)))
(/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 re (/.f64 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (/.f64 re (pow.f64 im 2)) (neg.f64 (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re))))
(/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (pow.f64 im 2))
(/.f64 (+.f64 re re) (/.f64 (+.f64 re re) (/.f64 (pow.f64 im 2) re)))
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))))
(/.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 re 4) (*.f64 re (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 re 4) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 re) (*.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 (/.f64 (neg.f64 re) (pow.f64 im 2)) (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re)))
(/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 im 2)))
(/.f64 -1 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 re 4)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re 4) (pow.f64 im 2)))))
(/.f64 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 2 (*.f64 (*.f64 re 4) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 4) (*.f64 (pow.f64 im 2) 4))
(/.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 re)))
(/.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 im 2)))))
(/.f64 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))) (*.f64 2 (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re))))
(/.f64 8 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (*.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2)))))
(/.f64 (*.f64 4 (/.f64 (pow.f64 im 2) re)) 4)
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 re (/.f64 (*.f64 re 4) (pow.f64 im 2)))))
(/.f64 (*.f64 2 (/.f64 2 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 -2 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 -2 (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 -2 (*.f64 2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 2)
(/.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2)) (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))) (/.f64 (neg.f64 re) (pow.f64 im 2)))
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 1/2)
(/.f64 (/.f64 1/2 re) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2)))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))
(/.f64 (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))) (neg.f64 (*.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))))))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re)) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (*.f64 2 (/.f64 1 re)) (/.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 2 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re))) (*.f64 2 (neg.f64 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 4 (/.f64 (pow.f64 im 2) re))) 8)
(/.f64 (*.f64 2 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (*.f64 2 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (neg.f64 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2)))) (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2))) (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2)))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 -4 (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (/.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) re) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (+.f64 re re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (/.f64 1 (/.f64 1 re)) (/.f64 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (/.f64 1 re) (/.f64 re (pow.f64 im 2))) (/.f64 1 re))
(/.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) (fabs.f64 (/.f64 re (pow.f64 im 2)))) (fabs.f64 (/.f64 re (pow.f64 im 2))))
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 2 (pow.f64 im 2))) 1/2)
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 (pow.f64 im 2) re)) re)
(/.f64 (/.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re (pow.f64 im 2))) (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2))) 2) (*.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2)) -1)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 2 (/.f64 (pow.f64 im 2) re))) 1/2)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 1 re)) (/.f64 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) 2) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) 2)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2)) 2) (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (pow.f64 im 2)) (/.f64 1 re))
(/.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (pow.f64 im 2)) -1)
(/.f64 (/.f64 4 (/.f64 re (pow.f64 im 2))) 4)
(/.f64 (neg.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re))) (neg.f64 (*.f64 2 (pow.f64 im 2))))
(/.f64 (neg.f64 (/.f64 1 (pow.f64 im 2))) (neg.f64 (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (neg.f64 (/.f64 1 re)) (neg.f64 (/.f64 1 (pow.f64 im 2))))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 re 4)))
(/.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (neg.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (neg.f64 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (neg.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (pow.f64 im 2))
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2)))) (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2))) (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2)))) (/.f64 re (pow.f64 im 2)))
(/.f64 (/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2)))) 1)
(/.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2)))
(neg.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (pow.f64 im 2)))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 2)
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(+.f64 (pow.f64 im 2) 0)
(+.f64 0 (pow.f64 im 2))
(+.f64 -1 (-.f64 1 (neg.f64 (pow.f64 im 2))))
(-.f64 (pow.f64 im 2) 0)
(-.f64 0 (neg.f64 (pow.f64 im 2)))
(*.f64 1 (pow.f64 im 2))
(*.f64 2 (/.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 2 (/.f64 (pow.f64 im 2) 2))
(*.f64 (pow.f64 im 2) 1)
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(*.f64 (*.f64 re 4) (/.f64 1 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 im 2) (/.f64 1 re)))
(*.f64 (neg.f64 re) (/.f64 -1 (/.f64 re (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) -1)
(*.f64 -1 (neg.f64 (pow.f64 im 2)))
(*.f64 -1 (/.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) re) re)
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 1 (/.f64 1 re)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re 2))
(*.f64 (*.f64 (pow.f64 im 2) re) (/.f64 1 re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 re re))
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 1 re)) (/.f64 1 re))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) re))) 2)
(*.f64 (/.f64 (pow.f64 im 2) 2) 2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 1 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 re 4))
(*.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))) (neg.f64 re))
(*.f64 (/.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))) -1)
(pow.f64 im 2)
(pow.f64 (pow.f64 im 2) 1)
(neg.f64 (neg.f64 (pow.f64 im 2)))
Outputs
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(pow.f64 im 2)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.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 1 (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 2 (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) (neg.f64 (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) (/.f64 1 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 re (/.f64 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 re (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 (/.f64 re re) (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 re (*.f64 (pow.f64 im 2) re))))
(/.f64 (/.f64 re (pow.f64 im 2)) (neg.f64 (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (+.f64 re re) (/.f64 (+.f64 re re) (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 re re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 re (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 (/.f64 re re) (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 re (*.f64 (pow.f64 im 2) re))))
(/.f64 (*.f64 re 4) (*.f64 re (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (/.f64 (*.f64 re 4) re) (*.f64 4 (/.f64 re (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re re)))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2)) (*.f64 (*.f64 re 4) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 re (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 (/.f64 re re) (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 re (*.f64 (pow.f64 im 2) re))))
(/.f64 4 (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 re) (*.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 re) (pow.f64 im 2)) (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (/.f64 (neg.f64 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 -1 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (*.f64 re 4) (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 2 (*.f64 (*.f64 re 4) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 re (*.f64 (pow.f64 im 2) (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 (/.f64 re re) (pow.f64 im 2))))
(/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re (/.f64 re (*.f64 (pow.f64 im 2) re))))
(/.f64 (*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) 4) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (neg.f64 (pow.f64 im 2))) (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 (neg.f64 re) (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))) (*.f64 2 (/.f64 (neg.f64 re) (/.f64 (pow.f64 (*.f64 im im) 2) re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 8 (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (neg.f64 re)) (*.f64 2 (*.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 4 (/.f64 (pow.f64 im 2) re)) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 re (/.f64 (*.f64 re 4) (pow.f64 im 2)))))
(/.f64 (/.f64 (*.f64 re 4) re) (*.f64 4 (/.f64 re (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re re)))
(/.f64 (*.f64 2 (/.f64 2 (pow.f64 im 2))) (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -2 (*.f64 2 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 re (pow.f64 (*.f64 im im) 2)))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2)) (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2))) (/.f64 (neg.f64 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1/2 re) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 2 (pow.f64 im 2))) (neg.f64 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))) (neg.f64 (*.f64 2 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))))))
(/.f64 (/.f64 -2 (/.f64 (pow.f64 im 2) re)) (*.f64 (*.f64 re (/.f64 re (pow.f64 (*.f64 im im) 2))) -2))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re)) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 1 re)) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re))) (*.f64 2 (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 4 (/.f64 (pow.f64 im 2) re))) 8)
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re 4)) (/.f64 2 (*.f64 (pow.f64 im 2) 8)))
(/.f64 (*.f64 2 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (*.f64 2 (neg.f64 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2)))) (/.f64 (*.f64 re 4) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2))) (*.f64 2 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2)))) (*.f64 2 (/.f64 (neg.f64 re) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 -4 (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re)) re) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (+.f64 re re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 1 (/.f64 1 re)) (/.f64 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 1 re) (/.f64 re (pow.f64 im 2))) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 re (pow.f64 im 2)) (fabs.f64 (/.f64 re (pow.f64 im 2)))) (fabs.f64 (/.f64 re (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (*.f64 2 (pow.f64 im 2))) 1/2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) (/.f64 (pow.f64 im 2) re)) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re (pow.f64 im 2))) (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2))) 2) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2)) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2))) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) re) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (+.f64 re re)) (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 2 (/.f64 (pow.f64 im 2) re))) 1/2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 1 re)) (/.f64 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) 2) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) re) (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) 2)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2))) (+.f64 re re)) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2)) 2) (/.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (pow.f64 im 2)) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (pow.f64 im 2)) -1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 4 (/.f64 re (pow.f64 im 2))) 4)
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 im im) 2) re))) (neg.f64 (*.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 1 (pow.f64 im 2))) (neg.f64 (/.f64 re (pow.f64 (*.f64 im im) 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 1 re)) (neg.f64 (/.f64 1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 4 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (neg.f64 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) (/.f64 re 4))) (neg.f64 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (/.f64 -4 (/.f64 re (pow.f64 (*.f64 im im) 2))) (*.f64 (pow.f64 im 2) -4))
(/.f64 (neg.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2)))) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (*.f64 (pow.f64 im 2) (/.f64 2 (pow.f64 im 2)))) (neg.f64 (/.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) (pow.f64 im 2))) (neg.f64 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 (pow.f64 im 2)))) (/.f64 re (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 -1 (/.f64 re (neg.f64 (pow.f64 im 2)))) 1)
(/.f64 (pow.f64 im 2) re)
(/.f64 (/.f64 (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re) (/.f64 re (pow.f64 im 2))) (/.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re) re))
(/.f64 (pow.f64 im 2) re)
(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)
(neg.f64 (/.f64 (/.f64 -1 (/.f64 re (pow.f64 (*.f64 im im) 2))) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (neg.f64 (/.f64 (pow.f64 (*.f64 im im) 2) re)) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 1)
(sqrt.f64 (/.f64 (pow.f64 im 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 1 (neg.f64 (pow.f64 im 2))))
(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 1 (pow.f64 im 2))
(pow.f64 im 2)
(*.f64 2 (/.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 2 re)))
(*.f64 2 (/.f64 (*.f64 (pow.f64 im 2) re) (+.f64 re re)))
(*.f64 2 (/.f64 (pow.f64 im 2) 2))
(pow.f64 im 2)
(*.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(pow.f64 im 2)
(*.f64 (*.f64 re 4) (/.f64 1 (/.f64 (*.f64 re 4) (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(pow.f64 im 2)
(*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 1 re) (/.f64 (pow.f64 im 2) (/.f64 1 re)))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (neg.f64 re) (/.f64 -1 (/.f64 re (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.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 -1 (/.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 (pow.f64 im 2) re) re)
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 1 (/.f64 1 re)))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re 2))
(*.f64 (*.f64 (pow.f64 im 2) re) (/.f64 1 re))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 re re))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) re))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 1 re)) (/.f64 1 re))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 re 2) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 re 2))
(*.f64 (/.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) re))) 2)
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 2 re)))
(*.f64 2 (/.f64 (*.f64 (pow.f64 im 2) re) (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) 2) 2)
(pow.f64 im 2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(pow.f64 im 2)
(*.f64 (/.f64 1 (/.f64 (*.f64 re 4) (pow.f64 im 2))) (*.f64 re 4))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 -1 (/.f64 re (pow.f64 im 2))) (neg.f64 re))
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(*.f64 (/.f64 re (/.f64 (neg.f64 re) (pow.f64 im 2))) -1)
(*.f64 re (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 re re))
(pow.f64 im 2)
(pow.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(neg.f64 (neg.f64 (pow.f64 im 2)))
(pow.f64 im 2)

eval424.0ms (3.7%)

Compiler

Compiled 6445 to 4868 computations (24.5% saved)

prune52.0ms (0.5%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New2981299
Fresh000
Picked101
Done066
Total2997306
Error
0.4b
Counts
306 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
44.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
52.8b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
52.9b
(*.f64 1/2 (sqrt.f64 (/.f64 1 (/.f64 re (pow.f64 im 2)))))
57.5b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (pow.f64 im 2))))))
37.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
31.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
Compiler

Compiled 89 to 71 computations (20.2% saved)

regimes350.0ms (3.1%)

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

7 calls:

167.0ms
re
78.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
37.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
19.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
17.0ms
im
Results
ErrorSegmentsBranch
11.6b4re
21.1b3im
13.8b5(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
13.8b5(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
13.8b4(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
13.8b4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
21.1b3(*.f64 im im)
Compiler

Compiled 215 to 157 computations (27% saved)

bsearch124.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
1.2467101103711309e-129
4.009381456173147e-108
19.0ms
-9.775918233656533e-157
-1.382950691388617e-163
72.0ms
-3.6610486166543895e+124
-2.1094603942174902e+123
Results
104.0ms386×body256valid
7.0ms23×body1024valid
4.0msbody2048valid
3.0ms14×body512valid
Compiler

Compiled 728 to 573 computations (21.3% saved)

regimes118.0ms (1%)

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

2 calls:

102.0ms
im
14.0ms
re
Results
ErrorSegmentsBranch
12.9b3re
21.6b8im
Compiler

Compiled 70 to 55 computations (21.4% saved)

bsearch127.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
83.0ms
1.2467101103711309e-129
4.009381456173147e-108
44.0ms
-1.671991567594817e+33
-9.765887747348484e+27
Results
59.0ms288×body256valid
57.0ms12×body1024valid
4.0ms10×body2048valid
2.0ms10×body512valid
Compiler

Compiled 462 to 385 computations (16.7% saved)

regimes17.0ms (0.1%)

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

2 calls:

9.0ms
re
7.0ms
im
Results
ErrorSegmentsBranch
23.4b3re
26.8b2im
Compiler

Compiled 32 to 25 computations (21.9% saved)

bsearch49.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
2.631807715821322e+166
8.682366218464981e+166
23.0ms
-1.671991567594817e+33
-9.765887747348484e+27
Results
23.0ms166×body256valid
11.0ms28×body2048valid
8.0ms12×body4096valid
2.0ms12×body512valid
2.0msbody1024valid
Compiler

Compiled 330 to 277 computations (16.1% saved)

regimes16.0ms (0.1%)

Accuracy

Total -35.2b remaining (-142.2%)

Threshold costs -35.2b (-142.2%)

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

2 calls:

9.0ms
im
6.0ms
re
Results
ErrorSegmentsBranch
24.8b2re
26.8b2im
Compiler

Compiled 24 to 19 computations (20.8% saved)

bsearch25.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
-1.671991567594817e+33
-9.765887747348484e+27
Results
22.0ms144×body256valid
Compiler

Compiled 220 to 187 computations (15% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057393
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -6500000000000000075290670389173707970015703883367336569518780557461181269592487840650728736964341180672704992033249687502848) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -396115096109269/1932268761508629172347675945465993672149463664853217499328617625725759571144780212268096883290961288981231808015751088588682539330521493827871454336733540374348490407411712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 re 5288447750321989/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)))))
(if (<=.f64 re -315000000000000008796931614572544) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 5288447750321989/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(if (<=.f64 re -15799999999999999825114300416) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 79999999999999995232582084042820664191866368806842385843598153151506418053294910705436802032415604554996379140120546862185019925485196384937117727773961177932115214336) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))))
(if (<=.f64 re -250000000000000004971156209664) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
Outputs
(if (<=.f64 re -6500000000000000075290670389173707970015703883367336569518780557461181269592487840650728736964341180672704992033249687502848) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -396115096109269/1932268761508629172347675945465993672149463664853217499328617625725759571144780212268096883290961288981231808015751088588682539330521493827871454336733540374348490407411712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 re 5288447750321989/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)))))
(if (<=.f64 re -315000000000000008796931614572544) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 5288447750321989/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(if (<=.f64 re -15799999999999999825114300416) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 79999999999999995232582084042820664191866368806842385843598153151506418053294910705436802032415604554996379140120546862185019925485196384937117727773961177932115214336) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re re))))))
(if (<=.f64 re -250000000000000004971156209664) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
Compiler

Compiled 153 to 121 computations (20.9% saved)

soundness116.0ms (1%)

Algorithm
egg-herbie
Rules
2206×rational.json-simplify-35
888×rational.json-simplify-40
882×rational.json-simplify-1
808×rational.json-simplify-2
504×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02494475
16034355
220674337
349004331
Stop Event
node limit
Compiler

Compiled 18 to 16 computations (11.1% saved)

end73.0ms (0.6%)

Compiler

Compiled 145 to 110 computations (24.1% saved)

Profiling

Loading profile data...