Details

Time bar (total: 20.3s)

analyze1.1s (5.2%)

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)

sample4.5s (22.2%)

Results
1.4s628×body2048valid
1.3s6387×body256valid
939.0ms562×body4096valid
774.0ms424×body1024valid
52.0ms255×body512valid
Bogosity

preprocess113.0ms (0.6%)

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)

simplify444.0ms (2.2%)

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
41.3b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
41.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 17 to 12 computations (29.4% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 77 to 19 computations (75.3% saved)

series10.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite94.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
2164×rational.json-1
2164×rational.json-2
1330×rational.json-simplify-35
894×exponential.json-3
894×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013110
184110
2175110
3457110
42054110
56914110
Stop Event
node limit
Counts
4 → 100
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(sqrt.f64 (*.f64 2 (-.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 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (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 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 1 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))))) (#(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 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))))) (#(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 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 8) 8)))) (#(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) 8)) 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 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.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 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.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 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (*.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 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 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 re re)) (/.f64 1 (*.f64 im im)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))

simplify945.0ms (4.7%)

Algorithm
egg-herbie
Rules
1210×rational.json-simplify-35
936×rational.json-simplify-40
754×rational.json-simplify-2
592×rational.json-simplify-41
492×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03466404
18406268
225796154
355766124
Stop Event
node limit
Counts
180 → 236
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))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 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)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(+.f64 (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 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 1 (-.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) 1/4)
(*.f64 (-.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)
(*.f64 4 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))
(*.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 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)
(*.f64 1/4 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4))
(/.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 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 4)
(/.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) 8) 8)
(/.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) 8)) 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 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 0)
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)))
(-.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 0)
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 2))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 2) 2)
(/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4))) 16)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 1 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 1 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.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 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (*.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 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 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 re re)) (/.f64 1 (*.f64 im im)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
Outputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/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/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 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 re)
(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 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (neg.f64 re)))
(+.f64 (neg.f64 re) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))
(+.f64 (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 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/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 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))))
(+.f64 im (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(*.f64 -1 im)
(*.f64 im -1)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (+.f64 (neg.f64 im) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))
(+.f64 (neg.f64 im) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))
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 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (neg.f64 re))
(+.f64 im (+.f64 (neg.f64 re) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.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 im (*.f64 1/2 (/.f64 (pow.f64 re 2) 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 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (neg.f64 re)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(*.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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/64) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.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 (*.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 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.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 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 6) (pow.f64 re 5)) -1/16) (*.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 (*.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 (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 (*.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)))))
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 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (neg.f64 re))
(+.f64 im (+.f64 (neg.f64 re) (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.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 im (*.f64 1/2 (/.f64 (pow.f64 re 2) 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 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (neg.f64 re)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(*.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))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))) (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (*.f64 re (sqrt.f64 2)) (*.f64 -1/2 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/4)) (sqrt.f64 (*.f64 im 2)))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2)))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2)))) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im 1) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) -1/16)))
(+.f64 (*.f64 (*.f64 im 1) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (*.f64 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) -1/16)) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 re))))))
(+.f64 (*.f64 (*.f64 im 1) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))
(+.f64 (+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 re 2))))) (pow.f64 im 7))) (sqrt.f64 1/2)) (sqrt.f64 re))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) 2)) (pow.f64 im 5))) (sqrt.f64 1/2)) (sqrt.f64 re))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (sqrt.f64 re))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 1/2 (pow.f64 re 2))))) (pow.f64 im 7)) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) -1/16)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 2) (/.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 1/2 (pow.f64 re 2))))) (pow.f64 im 7)) (sqrt.f64 1/2))))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (sqrt.f64 re)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))))) (+.f64 (*.f64 (*.f64 im 1) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 1/2 (sqrt.f64 re)) (+.f64 (*.f64 (sqrt.f64 2) (/.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 1/2 (pow.f64 re 2))))) (pow.f64 im 7)) (sqrt.f64 1/2))) (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 1 (sqrt.f64 1/2)))) 2))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)))))))
(+.f64 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 1/2 (sqrt.f64 re)) (+.f64 (*.f64 (*.f64 (pow.f64 im 5) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2))) (/.f64 (sqrt.f64 2) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 2) (/.f64 (*.f64 (-.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/16 (/.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 1/2 (pow.f64 re 2))))) (pow.f64 im 7)) (sqrt.f64 1/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 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 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 1/2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) 4)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 16)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (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 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 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 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 4) 1/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 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 4 (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 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 -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 (-.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 1/4 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 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 (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 (-.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 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) 8) 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 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) 8)) 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 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 0)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(-.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 0)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 2))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 2) 2)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2))) 2)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4) 4)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4)) 8)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 4))) 16)
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.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 2 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 1/2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 2 (fabs.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 1 (fabs.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 4 (fabs.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.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 re re)) (/.f64 1 (*.f64 im im))) (+.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im))) (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (*.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 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))) (neg.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 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 re re)) (/.f64 1 (*.f64 im im)))) (fabs.f64 (*.f64 (/.f64 1 (*.f64 re re)) (/.f64 1 (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (-.f64 0 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))

eval108.0ms (0.5%)

Compiler

Compiled 6961 to 4657 computations (33.1% saved)

prune45.0ms (0.2%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2279236
Fresh000
Picked011
Done000
Total22710237
Error
0.4b
Counts
237 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
29.8b
(*.f64 1/2 (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
29.6b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
50.1b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
50.0b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
29.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
41.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
27.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
45.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
55.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 269 to 226 computations (16% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series4.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite128.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
15717
211817
323317
442817
599317
6263517
7486417
8616617
9793417
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (-.f64 im re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))))

simplify383.0ms (1.9%)

Algorithm
egg-herbie
Rules
1846×rational.json-simplify-2
1636×rational.json-simplify-35
1254×rational.json-simplify-49
1188×rational.json-simplify-1
810×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01181117
12641101
26871077
316991065
428241065
537381065
641961065
742861065
843531065
944181065
1064391065
1166121065
1267031065
1367681065
1468331065
1568981065
1669631065
1770281065
1870931065
1979281065
Stop Event
node limit
Counts
33 → 66
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2))
(-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1/2)
(*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4) 1/4)
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8) 1/8)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2) 2)
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/4) 4)
(*.f64 1/8 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))
(/.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))))) 128)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))
(*.f64 (sqrt.f64 -2) (sqrt.f64 re))
(sqrt.f64 (*.f64 re -2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (sqrt.f64 (*.f64 re -2)) (*.f64 1/2 (*.f64 im (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (sqrt.f64 (*.f64 re -2)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 re)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (/.f64 im (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (sqrt.f64 (*.f64 re -2)) (+.f64 (*.f64 1/2 (*.f64 im (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (sqrt.f64 (*.f64 re -2)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 re)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (/.f64 im (sqrt.f64 -1))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (/.f64 (pow.f64 im 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 re)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (/.f64 im (sqrt.f64 -1))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 re)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 re)) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 1/2 (*.f64 im (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))))) (+.f64 (+.f64 (sqrt.f64 (*.f64 re -2)) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 1/16 (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (sqrt.f64 (*.f64 re -2)) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 re)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (/.f64 im (sqrt.f64 -1))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (/.f64 (pow.f64 im 2) (sqrt.f64 -1))))) (*.f64 (*.f64 (pow.f64 im 3) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 re)) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (/.f64 im (sqrt.f64 -1))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (/.f64 (pow.f64 im 3) (sqrt.f64 -1))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) re) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 re (*.f64 (sqrt.f64 (*.f64 (/.f64 1 im) 2)) -1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) re) -1/2)) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 re (*.f64 (sqrt.f64 (*.f64 (/.f64 1 im) 2)) -1/2)) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (pow.f64 re 2) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) re) -1/2)) (+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 3)) 2)))) (+.f64 (*.f64 re (*.f64 (sqrt.f64 (*.f64 (/.f64 1 im) 2)) -1/2)) (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 (*.f64 (/.f64 1 (pow.f64 im 5)) 2)) -1/16)))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (pow.f64 re 3) (*.f64 -1/16 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(-.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/4))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4) 1/4)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8) 1/8)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/2) 2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1/4) 4)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1/8 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 4) 4)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8) 8)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8)) 16)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))) 32)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8)))) 64)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 8))))) 128)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))

localize8.0ms (0%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 19 computations (29.6% saved)

series4.0ms (0%)

Counts
2 → 12
Calls

9 calls:

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

rewrite71.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1784×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
6443928
Stop Event
node limit
Counts
2 → 34
Calls
Call 1
Inputs
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 1 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (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 im (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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)))))

simplify691.0ms (3.4%)

Algorithm
egg-herbie
Rules
2066×rational.json-simplify-2
2064×rational.json-simplify-35
2048×rational.json-simplify-53
1482×rational.json-simplify-1
1152×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071650
1150650
2477650
31533650
43244650
54255650
64410650
74506650
84580650
94654650
105390650
116058650
126149650
136236650
146304650
156372650
166440650
176508650
186508650
197498650
207929650
217929650
227997650
Stop Event
node limit
Counts
46 → 36
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 (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 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(/.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 4)) 4)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8)))) 64)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(+.f64 (sqrt.f64 (/.f64 1 re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(-.f64 (sqrt.f64 (/.f64 1 re)) 0)
(*.f64 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 (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 (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 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.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 im (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 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 im (sqrt.f64 (/.f64 1 re))) 8) 8)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8)) 16)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8))) 32)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 8)))) 64)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 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))

localize84.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 80 to 60 computations (25% saved)

series9.0ms (0%)

Counts
4 → 60
Calls

24 calls:

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

rewrite245.0ms (1.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
015104
199104
2199104
3435104
41057104
54004104
Stop Event
node limit
Counts
4 → 123
Calls
Call 1
Inputs
(/.f64 (pow.f64 im 2) re)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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 1/2 (*.f64 2 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 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 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 (pow.f64 im 2) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 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 (/.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 (/.f64 re (*.f64 (pow.f64 im 2) 1/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 (/.f64 re (*.f64 (pow.f64 im 2) 1/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 4 (/.f64 (pow.f64 im 2) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 (pow.f64 im 2) 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 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 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (pow.f64 im 2) 1/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 (*.f64 re 1/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 2 re) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (pow.f64 im 2)) (/.f64 (neg.f64 re) (*.f64 (/.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 (*.f64 (/.f64 1 re) 1/4) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 2 re)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) 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 (*.f64 re 1/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 re (pow.f64 im 2)))))) (#(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 1/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 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1 (pow.f64 im 2)))))) (#(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)))) (/.f64 -1 (pow.f64 im 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)))) re)))) (#(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 re (pow.f64 im 2)))))) (#(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 re (*.f64 (pow.f64 im 2) 1/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 (/.f64 -1/2 re) (*.f64 (pow.f64 im 2) -2))))) (#(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 re (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 re (*.f64 2 (*.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 (pow.f64 im 2) re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re -2)) (*.f64 (pow.f64 im 2) -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 (/.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 +.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) (*.f64 (/.f64 (pow.f64 im 2) re) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))))))

simplify391.0ms (1.9%)

Algorithm
egg-herbie
Rules
1468×rational.json-simplify-51
940×rational.json-simplify-44
926×rational.json-simplify-35
856×rational.json-simplify-47
810×rational.json-simplify-55
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02975389
16535341
217255219
352635171
Stop Event
node limit
Counts
183 → 200
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re)) (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re)) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re)) (+.f64 (*.f64 -1/128 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 6)) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))))))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.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 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.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 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/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 1/2 (/.f64 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 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 2 (*.f64 re 8)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 re) 1/4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 1/2 (/.f64 1/2 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 (/.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 (/.f64 re (*.f64 (pow.f64 im 2) 1/2)) (/.f64 1 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 re (*.f64 (pow.f64 im 2) 1/2)) (/.f64 1/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 4 (/.f64 (/.f64 (pow.f64 im 2) 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 1 (pow.f64 im 2)) (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 -1/2 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (pow.f64 im 2) 1/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 (*.f64 re 1/2) (pow.f64 im 2)) (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (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 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (*.f64 (/.f64 1 re) 1/4) (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 1/2 (*.f64 2 (/.f64 1 re))) (pow.f64 im 2))
(*.f64 (*.f64 1/2 (/.f64 2 re)) (pow.f64 im 2))
(*.f64 (*.f64 1/2 (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (*.f64 re 1/2) (pow.f64 im 2)))
(*.f64 (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 (+.f64 re re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1/2 (pow.f64 im 2)))
(*.f64 (/.f64 -1 (/.f64 -1 (pow.f64 im 2))) (/.f64 1 re))
(*.f64 (/.f64 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 -1 (pow.f64 im 2)))
(*.f64 (/.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) re)
(*.f64 (/.f64 2 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 re (pow.f64 im 2)))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 re (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 4)
(*.f64 (/.f64 -1/2 re) (*.f64 (pow.f64 im 2) -2))
(*.f64 (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 re (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 4) 4)
(*.f64 (/.f64 1 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 8))
(*.f64 (/.f64 1 (*.f64 re -2)) (*.f64 (pow.f64 im 2) -2))
(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)))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 0)
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 4)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))) 16)
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 0)
(*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/2))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))) 1/2)
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4) 1/4)
(*.f64 -1 (+.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re))))
(*.f64 4 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8) 1/8)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8))
(*.f64 (+.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re))) -1)
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8)) 16)
(pow.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(+.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) (*.f64 (/.f64 (pow.f64 im 2) re) -1/4))
(-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -2)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))) 16)
(pow.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(neg.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re))
(*.f64 (sqrt.f64 -4) (sqrt.f64 re))
(sqrt.f64 (*.f64 re -4))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re)) (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (sqrt.f64 -4) (sqrt.f64 re)) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (*.f64 -1/4 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (*.f64 -1/4 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -2))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re)) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 -4) (sqrt.f64 re)) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 (sqrt.f64 2) (sqrt.f64 -8))) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 4) (sqrt.f64 -8))) (*.f64 -1/32 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (pow.f64 im 4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (/.f64 (sqrt.f64 2) (sqrt.f64 -8)))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -2))))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 4) (sqrt.f64 -8))) (*.f64 -1/32 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 re)) (+.f64 (*.f64 -1/128 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 6)) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 4)) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 (sqrt.f64 -4) (sqrt.f64 re)) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 im 2) (/.f64 (sqrt.f64 2) (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/32 (*.f64 (*.f64 (pow.f64 im 4) (/.f64 (sqrt.f64 2) (sqrt.f64 -8))) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))) (*.f64 -1/128 (*.f64 (*.f64 (pow.f64 im 6) (/.f64 (sqrt.f64 2) (sqrt.f64 -32))) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 4) (sqrt.f64 -8))) (*.f64 -1/32 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))) (+.f64 (*.f64 -1/128 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 6) (sqrt.f64 -32))) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (sqrt.f64 (*.f64 re -4))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 -2)) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/32 (*.f64 (pow.f64 im 4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (/.f64 (sqrt.f64 2) (sqrt.f64 -8))))) (*.f64 -1/128 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (sqrt.f64 2) (sqrt.f64 -32))))))))
(+.f64 (sqrt.f64 (*.f64 re -4)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (sqrt.f64 2) (sqrt.f64 -2))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 im 4) (sqrt.f64 -8))) (*.f64 -1/32 (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (*.f64 (*.f64 (pow.f64 im 6) (/.f64 (sqrt.f64 2) (sqrt.f64 -32))) (*.f64 -1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 11))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3)))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7))) (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (*.f64 im (sqrt.f64 -1/2)) 5)) (pow.f64 (sqrt.f64 re) 11)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))))
(+.f64 (+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3)))) (*.f64 -1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11)))))
(+.f64 (+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (pow.f64 (sqrt.f64 re) 3)))) (*.f64 -1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)) (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/32)) (pow.f64 im 5)) (pow.f64 (sqrt.f64 re) 11)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (*.f64 (pow.f64 (sqrt.f64 re) 7) 1/2))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (*.f64 (pow.f64 (sqrt.f64 re) 7) 1/2))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (*.f64 (pow.f64 (sqrt.f64 re) 7) 1/2))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (*.f64 (pow.f64 (sqrt.f64 re) 7) 1/2))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 -1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) -1)) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (*.f64 (pow.f64 (sqrt.f64 re) 7) 1/2)) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (*.f64 im (sqrt.f64 -1/2)) 5)) (*.f64 (pow.f64 (sqrt.f64 re) 11) 1/2)))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (+.f64 (*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/32) (pow.f64 im 5))) (pow.f64 (sqrt.f64 re) 11))))))
(+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (pow.f64 (sqrt.f64 re) 3)) (*.f64 (*.f64 im (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 re))))) (*.f64 1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/8) (pow.f64 im 3))) (pow.f64 (sqrt.f64 re) 7)) (*.f64 (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/32)) (pow.f64 im 5)) (pow.f64 (sqrt.f64 re) 11)))))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -2 re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -2 re))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 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 1/2 (*.f64 2 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (/.f64 2 re)))
(/.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 (/.f64 (/.f64 1 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) (pow.f64 im 2)))
(*.f64 re (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 im 2))))))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) re) re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (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 1 re) 1/4))
(/.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 1 re) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (/.f64 -1 (/.f64 -1 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 1 (*.f64 (/.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 (/.f64 re (*.f64 (pow.f64 im 2) 1/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 (/.f64 re (*.f64 (pow.f64 im 2) 1/2)) (/.f64 1/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 4 (/.f64 (/.f64 (pow.f64 im 2) 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) (*.f64 8 (/.f64 1 (*.f64 re 8))))
(*.f64 (pow.f64 im 2) (*.f64 8 (/.f64 1/8 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 1/2 (*.f64 2 (/.f64 (pow.f64 im 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) -2) (/.f64 -1/2 re))
(*.f64 (pow.f64 im 2) (*.f64 -2 (/.f64 -1/2 re)))
(*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (*.f64 re -2)))
(*.f64 (pow.f64 im 2) (*.f64 -2 (/.f64 -1/2 re)))
(*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 (*.f64 2 (/.f64 1 re)) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.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 (pow.f64 im 2) re)
(*.f64 (/.f64 (*.f64 re 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 (/.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 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 (/.f64 re (/.f64 (*.f64 2 (pow.f64 im 2)) re)) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (pow.f64 im 2) (*.f64 re 1/2)))) (*.f64 re (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 2 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (/.f64 (/.f64 re 2) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (*.f64 (pow.f64 im 2) 1/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 (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 (*.f64 (/.f64 1 re) 1/4) (*.f64 (pow.f64 im 2) 4))
(/.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 2 re)) (pow.f64 im 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 1/2 (/.f64 1/2 re)) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 (*.f64 re 1/2) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (/.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 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 (/.f64 re (/.f64 (*.f64 2 (pow.f64 im 2)) re)) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 re (/.f64 (pow.f64 im 2) (*.f64 re 1/2)))) (*.f64 re (/.f64 1/2 (pow.f64 im 2))))
(*.f64 (/.f64 1 (*.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 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1/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 re (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 1 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (neg.f64 re) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 -1 (pow.f64 im 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)))) re)
(*.f64 re (/.f64 (/.f64 (/.f64 1 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) (pow.f64 im 2)))
(*.f64 re (/.f64 1 (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 (/.f64 re (pow.f64 im 2)) (pow.f64 im 2)))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 re (pow.f64 im 2))))))
(*.f64 re (/.f64 (/.f64 (pow.f64 im 2) re) re))
(*.f64 (/.f64 2 (*.f64 2 (*.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 1 (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 re (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) 4)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -1/2 re) (*.f64 (pow.f64 im 2) -2))
(*.f64 (pow.f64 im 2) (*.f64 -2 (/.f64 -1/2 re)))
(*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 (/.f64 1/2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))) (/.f64 re (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 re (*.f64 2 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))) (/.f64 2 (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 (pow.f64 im 2)) (/.f64 (/.f64 (/.f64 re 2) (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) (/.f64 re (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 4) 4)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (*.f64 re 8)) (*.f64 (pow.f64 im 2) 8))
(*.f64 (pow.f64 im 2) (*.f64 8 (/.f64 1 (*.f64 re 8))))
(*.f64 (pow.f64 im 2) (*.f64 8 (/.f64 1/8 re)))
(*.f64 (/.f64 1 (*.f64 re -2)) (*.f64 (pow.f64 im 2) -2))
(*.f64 (pow.f64 im 2) (*.f64 -2 (/.f64 -1/2 re)))
(*.f64 -2 (*.f64 (pow.f64 im 2) (/.f64 -1/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)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2) (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 4 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1/2) 2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))) 2)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 4))) 16)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))))
(-.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 0)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/2))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))) 1/2)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4) 1/4)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 -1 (+.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re))))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 4 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/4))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8) 1/8)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/2) 2)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1/4) 4)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8))
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(*.f64 (+.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) (/.f64 1/2 re))) -1)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(/.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(/.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2))) 2)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 4) 4)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8) 8)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 8)) 16)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(pow.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)) 1)
(+.f64 (*.f64 -2 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 -2 re))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 0 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/4) (*.f64 (/.f64 (pow.f64 im 2) re) -1/4))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 0)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 4)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -2)) 8)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))) 16)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(pow.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) 1)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(neg.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))

localize63.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 55 to 45 computations (18.2% saved)

series5.0ms (0%)

Counts
3 → 0
Calls

12 calls:

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

rewrite89.0ms (0.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01569
110869
222429
348529
495129
5279629
6605429
Stop Event
node limit
Counts
3 → 33
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) im)
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (/.f64 im 2)) (*.f64 (sqrt.f64 1/2) (/.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 1/2) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 2)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4)) (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 im 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 im)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 2) (/.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 im 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 2 (*.f64 im 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x . im)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)))))

simplify1.1s (5.2%)

Algorithm
egg-herbie
Rules
2596×rational.json-simplify-41
2088×rational.json-simplify-53
2042×rational.json-simplify-2
1888×rational.json-simplify-35
808×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072343
1161343
2356343
3756343
42086343
53691343
64081343
74239343
84380343
94516343
106591343
117772343
127830343
137836343
147842343
157842343
Stop Event
node limit
Counts
33 → 40
Calls
Call 1
Inputs
(+.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(+.f64 0 (*.f64 (sqrt.f64 1/2) im))
(+.f64 (*.f64 (sqrt.f64 1/2) (/.f64 im 2)) (*.f64 (sqrt.f64 1/2) (/.f64 im 2)))
(-.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(/.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(/.f64 (*.f64 im (sqrt.f64 2)) 2)
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 2)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4)) (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4))) 32)
(pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(+.f64 im 0)
(+.f64 0 im)
(+.f64 (/.f64 im 2) (/.f64 im 2))
(-.f64 im 0)
(/.f64 im 1)
(/.f64 (+.f64 im im) 2)
(/.f64 (*.f64 im 4) 4)
(/.f64 (*.f64 2 (*.f64 im 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 2 (*.f64 im 4)))) 32)
(pow.f64 im 1)
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(/.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
Outputs
(+.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(*.f64 (sqrt.f64 1/2) im)
(+.f64 0 (*.f64 (sqrt.f64 1/2) im))
(*.f64 (sqrt.f64 1/2) im)
(+.f64 (*.f64 (sqrt.f64 1/2) (/.f64 im 2)) (*.f64 (sqrt.f64 1/2) (/.f64 im 2)))
(*.f64 (sqrt.f64 1/2) im)
(-.f64 (*.f64 (sqrt.f64 1/2) im) 0)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 im (sqrt.f64 2)) 2)
(*.f64 im (/.f64 (sqrt.f64 2) 2))
(*.f64 1/2 (*.f64 im (sqrt.f64 2)))
(*.f64 (*.f64 1/2 im) (sqrt.f64 2))
(*.f64 im (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im 4)) 4)
(*.f64 (sqrt.f64 1/2) im)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 2)) 4) 8)
(/.f64 (*.f64 im (sqrt.f64 2)) 2)
(*.f64 im (/.f64 (sqrt.f64 2) 2))
(*.f64 1/2 (*.f64 im (sqrt.f64 2)))
(*.f64 (*.f64 1/2 im) (sqrt.f64 2))
(*.f64 im (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4)) 16)
(/.f64 (*.f64 im (sqrt.f64 2)) 2)
(*.f64 im (/.f64 (sqrt.f64 2) 2))
(*.f64 1/2 (*.f64 im (sqrt.f64 2)))
(*.f64 (*.f64 1/2 im) (sqrt.f64 2))
(*.f64 im (*.f64 1/2 (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4)) (*.f64 2 (*.f64 (*.f64 im (sqrt.f64 2)) 4))) 32)
(/.f64 (*.f64 im (sqrt.f64 2)) 2)
(*.f64 im (/.f64 (sqrt.f64 2) 2))
(*.f64 1/2 (*.f64 im (sqrt.f64 2)))
(*.f64 (*.f64 1/2 im) (sqrt.f64 2))
(*.f64 im (*.f64 1/2 (sqrt.f64 2)))
(pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(*.f64 (sqrt.f64 1/2) im)
(+.f64 im 0)
im
(+.f64 0 im)
im
(+.f64 (/.f64 im 2) (/.f64 im 2))
im
(-.f64 im 0)
im
(/.f64 im 1)
im
(/.f64 (+.f64 im im) 2)
im
(/.f64 (*.f64 im 4) 4)
im
(/.f64 (*.f64 2 (*.f64 im 4)) 8)
im
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im 4))) 16)
im
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 2 (*.f64 im 4)))) 32)
im
(pow.f64 im 1)
im
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 im im)) 2)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)) 4)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))) 8)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) 16)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) 4))))) 32)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))

eval231.0ms (1.1%)

Compiler

Compiled 8410 to 7015 computations (16.6% saved)

prune210.0ms (1%)

Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New3632365
Fresh224
Picked011
Done055
Total36510375
Error
0.4b
Counts
375 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
29.6b
(*.f64 1/2 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))))
50.1b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
29.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
50.0b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
45.9b
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
29.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
41.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
27.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
55.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 138 to 114 computations (17.4% saved)

localize425.0ms (2.1%)

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)))
8.2b
(/.f64 (pow.f64 im 2) re)
17.0b
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
Compiler

Compiled 52 to 39 computations (25% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

18 calls:

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

rewrite198.0ms (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
01273
18149
218549
339749
499649
5433449
Stop Event
node limit
Counts
3 → 318
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 1/2 (/.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 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))))))

simplify459.0ms (2.3%)

Algorithm
egg-herbie
Rules
1698×rational.json-simplify-46
1202×rational.json-simplify-61
1142×rational.json-simplify-49
1108×rational.json-simplify-51
738×rational.json-simplify-35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05935582
122575574
259855570
Stop Event
node limit
Counts
354 → 328
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 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 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (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) (+.f64 re 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 re 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 re 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) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.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) 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) (/.f64 2 re)) 4)
(*.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) (/.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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.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 (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 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.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 (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 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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 (*.f64 re 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 re (neg.f64 (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (*.f64 re (/.f64 -2 (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 (pow.f64 im 2) (+.f64 re 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 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re 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))
(/.f64 (pow.f64 im 2) (+.f64 re re))

localize8.0ms (0%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 74 to 53 computations (28.4% saved)

series9.0ms (0%)

Counts
4 → 12
Calls

21 calls:

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

rewrite90.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01694
111594
223094
346594
492694
5239794
6531194
Stop Event
node limit
Counts
4 → 58
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 2 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 1 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 1 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/4)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (neg.f64 (sqrt.f64 (/.f64 1 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))))))

simplify325.0ms (1.6%)

Algorithm
egg-herbie
Rules
2596×rational.json-simplify-2
1900×rational.json-simplify-35
1296×rational.json-simplify-51
800×rational.json-simplify-53
778×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01211754
12931754
28031710
320281710
444061710
548941710
651221710
753061710
855001710
957251710
1068951710
1177831710
Stop Event
node limit
Counts
70 → 76
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(+.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 1/2)))
(-.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 2 (sqrt.f64 2))) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4))))) 32)
(pow.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(/.f64 (*.f64 2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))))) 32)
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(+.f64 (sqrt.f64 (/.f64 1 im)) 0)
(+.f64 0 (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(-.f64 (sqrt.f64 (/.f64 1 im)) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(*.f64 1 (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 (/.f64 1 im)) 1)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 1 im)) 4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(/.f64 (sqrt.f64 (/.f64 1 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)
(pow.f64 (sqrt.f64 (/.f64 1 im)) 1)
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 0)
(+.f64 0 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 -1 (-.f64 1 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/4)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/4)))
(-.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 0)
(-.f64 0 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(/.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 1)
(/.f64 (*.f64 re (neg.f64 (sqrt.f64 (/.f64 1 im)))) 2)
(/.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2)) 8)
(/.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2)))) 32)
(pow.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 1)
(neg.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 0 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 1/2)) (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(-.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 0)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 2 (sqrt.f64 2))) 2)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4)) 4)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4))) 8)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4)))) 16)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 2) 4))))) 32)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(pow.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) 1)
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 2)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)) 4)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))) 8)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4)))) 16)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 4))))) 32)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 1 im)))
(+.f64 (sqrt.f64 (/.f64 1 im)) 0)
(sqrt.f64 (/.f64 1 im))
(+.f64 0 (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(sqrt.f64 (/.f64 1 im))
(-.f64 (sqrt.f64 (/.f64 1 im)) 0)
(sqrt.f64 (/.f64 1 im))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))
(sqrt.f64 (/.f64 1 im))
(*.f64 1 (sqrt.f64 (/.f64 1 im)))
(sqrt.f64 (/.f64 1 im))
(*.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 1 im)) 4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 1/2)
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 1/4)
(sqrt.f64 (/.f64 1 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 1 im))))
(sqrt.f64 (/.f64 1 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))
(sqrt.f64 (/.f64 1 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2) 2)
(sqrt.f64 (/.f64 1 im))
(*.f64 (/.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(sqrt.f64 (/.f64 1 im))
(/.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 1 im))) 2)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) 4) 4)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)) 8)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4))) 16)
(sqrt.f64 (/.f64 1 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 im)) 4)))) 32)
(sqrt.f64 (/.f64 1 im))
(pow.f64 (sqrt.f64 (/.f64 1 im)) 1)
(sqrt.f64 (/.f64 1 im))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 0)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(+.f64 0 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(+.f64 -1 (-.f64 1 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/4)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) -1/4)))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(-.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 0)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(-.f64 0 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 1)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 re (neg.f64 (sqrt.f64 (/.f64 1 im)))) 2)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2) 4)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2)) 8)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) -1)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2))) 16)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) -2)))) 32)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(pow.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) 1)
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))
(neg.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 1 im))))

localize175.0ms (0.9%)

Local error

Found 4 expressions with local error:

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

Compiled 79 to 62 computations (21.5% saved)

series9.0ms (0%)

Counts
4 → 36
Calls

21 calls:

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

rewrite94.0ms (0.5%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
016114
1116114
2229114
3451114
495890
5267490
6639090
Stop Event
node limit
Counts
4 → 62
Calls
Call 1
Inputs
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(sqrt.f64 (*.f64 (/.f64 1 im) 2))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (sqrt.f64 (/.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 2 (sqrt.f64 (/.f64 2 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 2 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 2 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 2 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (/.f64 2 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 2 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 2 im)) -1/4)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 2 im)) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))))))

simplify304.0ms (1.5%)

Algorithm
egg-herbie
Rules
2246×rational.json-simplify-2
1704×rational.json-simplify-53
1620×rational.json-simplify-35
1218×rational.json-simplify-51
1102×rational.json-simplify-52
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01262634
12642634
28072494
319242494
443602494
550102494
653012494
755252494
855432494
955692494
1071512494
1175122494
Stop Event
node limit
Counts
98 → 84
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(/.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(/.f64 (*.f64 re (*.f64 2 (sqrt.f64 (/.f64 2 im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))))) 32)
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 2 im)) 4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)))) 32)
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(-.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 0)
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))))
(*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1/2))
(*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))
(*.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))) 1/2)
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))))
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 4)
(/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))) 2)
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4)))) 32)
(pow.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 2 im)) -1/4)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 2 im)) -1/4)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) 2)
(/.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2)))) 32)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(neg.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))
(*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))
(*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))) -1/2)
(*.f64 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))) -1/2)
(+.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(+.f64 0 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(-.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 0)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 re (*.f64 2 (sqrt.f64 (/.f64 2 im)))) 2)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)) 4)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))) 8)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) 16)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4)))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 4))))) 32)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(pow.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) 1)
(*.f64 re (sqrt.f64 (/.f64 2 im)))
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 2 im)) 4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(sqrt.f64 (/.f64 2 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(sqrt.f64 (/.f64 2 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (/.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)) 8)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) 16)
(sqrt.f64 (/.f64 2 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))) (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 4)))) 32)
(sqrt.f64 (/.f64 2 im))
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(-.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 0)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 1 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1/2))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 4 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))) 1/2)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 1/4)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 1/2 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 1/4 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1/2) 2)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 4)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(/.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(/.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))) 2)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(/.f64 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4) 4)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4)) 8)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))) 16)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 4)))) 32)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(pow.f64 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))) 1)
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))))
(+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(+.f64 (*.f64 re (*.f64 (sqrt.f64 (/.f64 2 im)) -1/4)) (*.f64 re (*.f64 (sqrt.f64 (/.f64 2 im)) -1/4)))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) 2)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(/.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2) 4)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2)) 8)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2))) 16)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (sqrt.f64 (/.f64 2 im))) -2)))) 32)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re 1/2)))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))

eval332.0ms (1.6%)

Compiler

Compiled 10643 to 8429 computations (20.8% saved)

prune365.0ms (1.8%)

Pruning

12 alts after pruning (4 fresh and 8 done)

PrunedKeptTotal
New5714575
Fresh000
Picked101
Done189
Total57312585
Error
0.4b
Counts
585 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
29.6b
(*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))))
50.1b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
29.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
50.0b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
55.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
55.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))))
45.9b
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
29.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
59.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))))
41.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
27.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
Compiler

Compiled 172 to 139 computations (19.2% saved)

localize47.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.2b
(/.f64 (pow.f64 im 2) re)
8.2b
(*.f64 (pow.f64 im 2) (/.f64 2 re))
17.0b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
43.5b
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
Compiler

Compiled 121 to 85 computations (29.8% saved)

series7.0ms (0%)

Counts
3 → 60
Calls

18 calls:

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

rewrite745.0ms (3.7%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
014139
1102139
2305139
3130079
4473779
Stop Event
node limit
Counts
3 → 78
Calls
Call 1
Inputs
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))
(*.f64 (pow.f64 im 2) (/.f64 2 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 1 (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 1 (/.f64 (*.f64 2 (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 re (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))) (/.f64 1 (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 (/.f64 re (pow.f64 im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 1 (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 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) 4))) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 2 (*.f64 re 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) (/.f64 1 (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) (*.f64 (/.f64 1 (/.f64 2 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 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 (/.f64 (pow.f64 im 2) re) 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 2 re)) (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re)))) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 2 re)) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (/.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 2 re)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (fabs.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 2) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))) (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1)))))

simplify913.0ms (4.5%)

Algorithm
egg-herbie
Rules
1248×rational.json-simplify-43
1228×rational.json-simplify-44
1104×rational.json-simplify-61
1036×rational.json-simplify-49
1032×rational.json-simplify-35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01812866
14902840
213802648
374282648
Stop Event
node limit
Counts
138 → 92
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 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 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 0)
(+.f64 0 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(-.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 0)
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 1 (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))) (/.f64 (pow.f64 im 2) re)))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)) 1))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 re (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))
(*.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))))
(*.f64 re (*.f64 (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))) 1))
(*.f64 re (*.f64 (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) 1))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))) (/.f64 1 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 re (pow.f64 im 2)) 2))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 1 (pow.f64 im 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 1)
(*.f64 1 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(*.f64 (+.f64 re re) (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) 1))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 1))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) 4))) (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 2 (*.f64 re 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2))))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) (/.f64 1 (/.f64 2 re)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) (*.f64 (/.f64 1 (/.f64 2 re)) 1))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)) (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 4)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 1))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 1))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 2 re)) (/.f64 1 (pow.f64 im 2))))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re)))) (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re)))))
(*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 1 re) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)) (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 2 re)) (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2))))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)) (pow.f64 im 2))
(*.f64 (/.f64 1 (/.f64 2 re)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))) re)
(*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (fabs.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) re)
(*.f64 (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) (+.f64 re re))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))))
(pow.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 1)
(+.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))
(-.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 0)
(*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))
(/.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2))))))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4)) 8)
(pow.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)
(+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))
(+.f64 0 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 0)
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 0)
(/.f64 (pow.f64 im 2) (*.f64 re 1/2))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 2)
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 re 1/2)))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 4)) 4)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1)
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (*.f64 re 1/2)))
(/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))) (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 4))) 8)
(pow.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1)
Outputs
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (/.f64 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 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 0)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(-.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 0)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 1 (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))) (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 re (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 re (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 re (*.f64 (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))) (/.f64 1 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 re (pow.f64 im 2)) 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 1 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 1)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (+.f64 re re) (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))))
(*.f64 (+.f64 re re) (/.f64 1 (/.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) 4)))))
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) re))
(*.f64 2 (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 1/4 re))))
(*.f64 (+.f64 re re) (*.f64 (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) 1))
(*.f64 (+.f64 re re) (/.f64 1 (/.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) 4)))))
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) re))
(*.f64 2 (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 1/4 re))))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (*.f64 1/2 (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 1 (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) 4))) (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 2 (*.f64 re 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) (/.f64 1 (/.f64 2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) (*.f64 (/.f64 1 (/.f64 2 re)) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)) (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 4)))
(*.f64 1/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 (/.f64 (pow.f64 im 2) re) 4)) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) 1))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 2 re)) (/.f64 1 (pow.f64 im 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 re (pow.f64 im 2)) 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re)))) (/.f64 1 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re))) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 re (/.f64 2 re)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 re) (*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2)) (pow.f64 im 2)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 (/.f64 (pow.f64 im 2) (pow.f64 im 2)) (/.f64 2 re)) (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 re (pow.f64 im 2)) 2))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 re) (*.f64 (/.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (/.f64 (/.f64 re (pow.f64 im 2)) 2) (/.f64 (/.f64 (pow.f64 im 2) re) re)) (pow.f64 im 2))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 (/.f64 2 re)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 (/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))) re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (fabs.f64 (/.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 2) (/.f64 2 re))) (fabs.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 2 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 (/.f64 (pow.f64 im 2) (/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)) 4))) (+.f64 re re))
(*.f64 (+.f64 re re) (/.f64 1 (/.f64 (pow.f64 im 2) (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 (pow.f64 im 2) re) 4)))))
(*.f64 2 (*.f64 (*.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) re))) re))
(*.f64 2 (*.f64 re (*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 1/4 re))))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 1 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) (*.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (pow.f64 im 2) (/.f64 2 re))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(pow.f64 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))) 1)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 0)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(-.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 0)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(*.f64 1 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))))
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2))))))) 2)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4) 4)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 4)) 8)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(pow.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (*.f64 2 (/.f64 re (pow.f64 im 2)))))) 1)
(sqrt.f64 (*.f64 2 (/.f64 1/2 (/.f64 re (pow.f64 im 2)))))
(sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) (/.f64 re 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (*.f64 (pow.f64 im 2) (/.f64 2 re)))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 0)
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 0)
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (*.f64 re 1/2))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 2)
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 re 1/2)))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 4)) 4)
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1)
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (pow.f64 im 2)) (neg.f64 (*.f64 re 1/2)))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 2 (/.f64 re (pow.f64 im 2)))) (+.f64 (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2))) (*.f64 (/.f64 re (pow.f64 im 2)) (/.f64 re (pow.f64 im 2)))))
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (/.f64 2 re) 4))) 8)
(*.f64 2 (/.f64 (pow.f64 im 2) re))
(pow.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) 1)
(*.f64 2 (/.f64 (pow.f64 im 2) re))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.6b
(/.f64 2 (pow.f64 im 2))
8.0b
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
17.0b
(sqrt.f64 (/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2))))
Compiler

Compiled 48 to 37 computations (22.9% saved)

series2.0ms (0%)

Counts
4 → 36
Calls

18 calls:

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

rewrite119.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01174
18350
226150
385850
4329250
5700650
Stop Event
node limit
Counts
4 → 142
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2))))
(/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(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 (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)) 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 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 (/.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 (/.f64 (pow.f64 im 2) re) 0)))) (#(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 2 re) (/.f64 4 (pow.f64 im 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 2 (*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(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 4 re) (/.f64 1 (/.f64 4 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 re) (*.f64 (pow.f64 im 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 2 re) (pow.f64 im 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 re)) (/.f64 1 (*.f64 2 (/.f64 4 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 re)) (*.f64 1/4 (*.f64 (pow.f64 im 2) 1/2)))))) (#(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 (/.f64 2 re) -2) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 re) (/.f64 1 (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 2 re) (/.f64 -2 (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 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 1/8 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 2 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 4 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1/2 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 4 re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2) (/.f64 4 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 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))) -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 (/.f64 2 re) (/.f64 4 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (/.f64 4 (pow.f64 im 2)))) (*.f64 2 (/.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -2 (pow.f64 im 2))) (/.f64 -2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 1 (/.f64 4 (pow.f64 im 2)))) (/.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 4 (pow.f64 im 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 4 (pow.f64 im 2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2 (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 4 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (/.f64 4 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (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 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/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 2 (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (pow.f64 (/.f64 im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 im 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 1/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 1/2 (*.f64 2 (pow.f64 im 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 (pow.f64 (+.f64 im im) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 4 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (-.f64 0 (*.f64 2 (/.f64 -2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (-.f64 0 (neg.f64 (/.f64 4 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 (pow.f64 im 2)) (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (/.f64 4 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (/.f64 -2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (*.f64 (*.f64 2 (/.f64 -2 (pow.f64 im 2))) 1/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 1 (pow.f64 im 2)) (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 -2 (pow.f64 im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 (/.f64 -2 (pow.f64 im 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 1 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2)) (/.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (*.f64 4 (/.f64 4 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (*.f64 2 (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (neg.f64 (/.f64 4 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (-.f64 0 (/.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -8 (*.f64 4 (/.f64 -2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -8 (*.f64 2 (neg.f64 (/.f64 4 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -8 (neg.f64 (*.f64 2 (/.f64 4 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) 1/2) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -16 (-.f64 0 (*.f64 4 (/.f64 4 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 (pow.f64 im 2))) (-.f64 0 (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))) (*.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))) (*.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 im 2)))))))

simplify119.0ms (0.6%)

Algorithm
egg-herbie
Rules
1390×rational.json-simplify-2
832×rational.json-simplify-47
828×rational.json-simplify-44
686×rational.json-simplify-39
660×rational.json-simplify-53
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02582272
16622254
235132254
361612254
Stop Event
node limit
Counts
178 → 161
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 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 0)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) 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 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 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(*.f64 2 (/.f64 (/.f64 2 re) (/.f64 4 (pow.f64 im 2))))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)))
(*.f64 2 (*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(*.f64 2 (*.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 2 re)))
(*.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 1 re)))
(*.f64 4 (*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (/.f64 4 re) (/.f64 1 (/.f64 4 (pow.f64 im 2))))
(*.f64 (/.f64 4 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2))
(*.f64 (/.f64 4 re) (*.f64 (pow.f64 im 2) 1/4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 re) 1/4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re 4)))
(*.f64 (*.f64 (/.f64 2 re) (pow.f64 im 2)) 1/2)
(*.f64 (*.f64 2 (/.f64 4 re)) (/.f64 1 (*.f64 2 (/.f64 4 (pow.f64 im 2)))))
(*.f64 (*.f64 2 (/.f64 4 re)) (*.f64 1/4 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) -2) (/.f64 1 re)))
(*.f64 -2 (*.f64 (/.f64 (/.f64 2 re) -2) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (/.f64 -2 re) (/.f64 1 (/.f64 -2 (pow.f64 im 2))))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 -1 re))
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (/.f64 2 re))
(*.f64 -1 (/.f64 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))))
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 1/8 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (/.f64 2 re) (pow.f64 im 2)))
(*.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 4 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1/2 (/.f64 1 re)))
(*.f64 (neg.f64 (/.f64 4 re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2) (/.f64 4 re))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(*.f64 (/.f64 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))) -1)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 (/.f64 (/.f64 2 re) (/.f64 4 (pow.f64 im 2))) 2)
(*.f64 (/.f64 1 (*.f64 re 4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) 2) 2)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 4 (pow.f64 im 2)))) (*.f64 2 (/.f64 4 re)))
(*.f64 (/.f64 1 (/.f64 -2 (pow.f64 im 2))) (/.f64 -2 re))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (+.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 1 (/.f64 4 (pow.f64 im 2)))) (/.f64 2 re))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))))
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 2 (pow.f64 im 2)) 0)
(+.f64 0 (/.f64 2 (pow.f64 im 2)))
(+.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2)))
(+.f64 -1 (-.f64 1 (/.f64 -2 (pow.f64 im 2))))
(-.f64 (/.f64 2 (pow.f64 im 2)) 0)
(-.f64 0 (/.f64 -2 (pow.f64 im 2)))
(*.f64 2 (/.f64 1 (pow.f64 im 2)))
(*.f64 (/.f64 2 (pow.f64 im 2)) 1)
(*.f64 1 (/.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 4 (pow.f64 im 2)) 1/2)
(*.f64 (*.f64 2 (/.f64 4 (pow.f64 im 2))) 1/4)
(*.f64 (/.f64 -2 (pow.f64 im 2)) -1)
(*.f64 (/.f64 1 (pow.f64 im 2)) 2)
(*.f64 -1 (/.f64 -2 (pow.f64 im 2)))
(*.f64 1/2 (/.f64 4 (pow.f64 im 2)))
(*.f64 1/4 (*.f64 2 (/.f64 4 (pow.f64 im 2))))
(pow.f64 (/.f64 2 (pow.f64 im 2)) 1)
(neg.f64 (/.f64 -2 (pow.f64 im 2)))
(+.f64 (pow.f64 im 2) 0)
(+.f64 0 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/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 2 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) 1)
(*.f64 1 (pow.f64 im 2))
(*.f64 4 (pow.f64 (/.f64 im 2) 2))
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(*.f64 (neg.f64 (pow.f64 im 2)) -1)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) 2)
(*.f64 -1 (neg.f64 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(*.f64 (pow.f64 (+.f64 im im) 2) 1/4)
(/.f64 2 (/.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) 1)
(/.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2))))
(/.f64 1 (/.f64 1 (pow.f64 im 2)))
(/.f64 4 (/.f64 4 (pow.f64 im 2)))
(/.f64 4 (-.f64 0 (*.f64 2 (/.f64 -2 (pow.f64 im 2)))))
(/.f64 4 (-.f64 0 (neg.f64 (/.f64 4 (pow.f64 im 2)))))
(/.f64 (*.f64 2 (pow.f64 im 2)) 2)
(/.f64 (/.f64 4 (pow.f64 im 2)) (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 2 (pow.f64 im 2))))
(/.f64 8 (*.f64 2 (/.f64 4 (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 2) 4) 4)
(/.f64 -2 (/.f64 -2 (pow.f64 im 2)))
(/.f64 -2 (*.f64 (*.f64 2 (/.f64 -2 (pow.f64 im 2))) 1/2))
(/.f64 (neg.f64 (pow.f64 im 2)) -1)
(/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2)))
(/.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2)
(/.f64 -1 (/.f64 (/.f64 -2 (pow.f64 im 2)) 2))
(/.f64 -1 (*.f64 (/.f64 -2 (pow.f64 im 2)) 1/2))
(/.f64 -1 (neg.f64 (/.f64 1 (pow.f64 im 2))))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2)) (/.f64 (pow.f64 im 2) 4))
(/.f64 16 (*.f64 4 (/.f64 4 (pow.f64 im 2))))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 8)
(/.f64 -4 (*.f64 2 (/.f64 -2 (pow.f64 im 2))))
(/.f64 -4 (neg.f64 (/.f64 4 (pow.f64 im 2))))
(/.f64 1/2 (/.f64 1/2 (pow.f64 im 2)))
(/.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) 1/4)
(/.f64 (*.f64 (pow.f64 im 2) -2) -2)
(/.f64 -1/2 (-.f64 0 (/.f64 1/2 (pow.f64 im 2))))
(/.f64 -8 (*.f64 4 (/.f64 -2 (pow.f64 im 2))))
(/.f64 -8 (*.f64 2 (neg.f64 (/.f64 4 (pow.f64 im 2)))))
(/.f64 -8 (neg.f64 (*.f64 2 (/.f64 4 (pow.f64 im 2)))))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) 1/2) 8)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) -2)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) -1/2)
(/.f64 -16 (-.f64 0 (*.f64 4 (/.f64 4 (pow.f64 im 2)))))
(/.f64 (neg.f64 (/.f64 1 (pow.f64 im 2))) (-.f64 0 (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2))))
(/.f64 (+.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))) (*.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (pow.f64 im 2))))
(/.f64 (+.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))) (*.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))))
(neg.f64 (neg.f64 (pow.f64 im 2)))
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 (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)) 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 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 (/.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 (/.f64 (pow.f64 im 2) re) 0)
(/.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 2 re) (/.f64 4 (pow.f64 im 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 2 (*.f64 (/.f64 1 re) (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (/.f64 (/.f64 (pow.f64 im 2) re) 2))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 2 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 4 (*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 2) 1/2)))
(/.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 4 re) (/.f64 1 (/.f64 4 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (/.f64 4 re) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (/.f64 4 re) (*.f64 (pow.f64 im 2) 1/4))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (/.f64 1 re) 1/4))
(/.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 (/.f64 2 re) (pow.f64 im 2)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 4 re)) (/.f64 1 (*.f64 2 (/.f64 4 (pow.f64 im 2)))))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (*.f64 2 (/.f64 4 re)) (*.f64 1/4 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 -2 (*.f64 (/.f64 (pow.f64 im 2) -2) (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 -2 (*.f64 (/.f64 (/.f64 2 re) -2) (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 -2 re) (/.f64 1 (/.f64 -2 (pow.f64 im 2))))
(*.f64 (/.f64 (pow.f64 im 2) -2) (/.f64 -2 re))
(*.f64 (*.f64 (pow.f64 im 2) -1/2) (/.f64 -2 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.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 (pow.f64 im 2) 1/2) (/.f64 2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (/.f64 2 re) (/.f64 -2 (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 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 1/8 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.f64 (/.f64 2 re) (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 4 re))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 -1/2 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (*.f64 (/.f64 1 re) -1/2))
(*.f64 -1/2 (*.f64 -2 (/.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(*.f64 (neg.f64 (/.f64 4 re)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (neg.f64 (/.f64 4 re)) (*.f64 (pow.f64 im 2) -1/4))
(*.f64 (/.f64 -4 re) (*.f64 (pow.f64 im 2) -1/4))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2) (/.f64 4 re))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))) -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 (/.f64 2 re) (/.f64 4 (pow.f64 im 2))) 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 (/.f64 (pow.f64 im 2) re) 2) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (*.f64 2 (/.f64 4 (pow.f64 im 2)))) (*.f64 2 (/.f64 4 re)))
(*.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 4 re))
(*.f64 1/4 (*.f64 (pow.f64 im 2) (/.f64 4 re)))
(*.f64 (pow.f64 im 2) (*.f64 (/.f64 4 re) 1/4))
(*.f64 (/.f64 1 (/.f64 -2 (pow.f64 im 2))) (/.f64 -2 re))
(*.f64 (/.f64 (pow.f64 im 2) -2) (/.f64 -2 re))
(*.f64 (*.f64 (pow.f64 im 2) -1/2) (/.f64 -2 re))
(*.f64 (/.f64 -1 re) (neg.f64 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (+.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) (/.f64 1 (/.f64 4 (pow.f64 im 2)))) (/.f64 2 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 (/.f64 2 re) (/.f64 -2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 2 (pow.f64 im 2)) 0)
(/.f64 2 (pow.f64 im 2))
(+.f64 0 (/.f64 2 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(+.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 1 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(+.f64 -1 (-.f64 1 (/.f64 -2 (pow.f64 im 2))))
(/.f64 2 (pow.f64 im 2))
(-.f64 (/.f64 2 (pow.f64 im 2)) 0)
(/.f64 2 (pow.f64 im 2))
(-.f64 0 (/.f64 -2 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(*.f64 2 (/.f64 1 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(*.f64 (/.f64 2 (pow.f64 im 2)) 1)
(/.f64 2 (pow.f64 im 2))
(*.f64 1 (/.f64 2 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(*.f64 (/.f64 4 (pow.f64 im 2)) 1/2)
(/.f64 2 (pow.f64 im 2))
(*.f64 (*.f64 2 (/.f64 4 (pow.f64 im 2))) 1/4)
(/.f64 2 (pow.f64 im 2))
(*.f64 (/.f64 -2 (pow.f64 im 2)) -1)
(/.f64 2 (pow.f64 im 2))
(*.f64 (/.f64 1 (pow.f64 im 2)) 2)
(/.f64 2 (pow.f64 im 2))
(*.f64 -1 (/.f64 -2 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(*.f64 1/2 (/.f64 4 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(*.f64 1/4 (*.f64 2 (/.f64 4 (pow.f64 im 2))))
(/.f64 2 (pow.f64 im 2))
(pow.f64 (/.f64 2 (pow.f64 im 2)) 1)
(/.f64 2 (pow.f64 im 2))
(neg.f64 (/.f64 -2 (pow.f64 im 2)))
(/.f64 2 (pow.f64 im 2))
(+.f64 (pow.f64 im 2) 0)
(pow.f64 im 2)
(+.f64 0 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/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 2 (*.f64 (pow.f64 im 2) 1/2))
(pow.f64 im 2)
(*.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(*.f64 1 (pow.f64 im 2))
(pow.f64 im 2)
(*.f64 4 (pow.f64 (/.f64 im 2) 2))
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(pow.f64 im 2)
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(pow.f64 im 2)
(*.f64 (neg.f64 (pow.f64 im 2)) -1)
(pow.f64 im 2)
(*.f64 (*.f64 (pow.f64 im 2) 1/2) 2)
(pow.f64 im 2)
(*.f64 -1 (neg.f64 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(pow.f64 im 2)
(*.f64 (pow.f64 (+.f64 im im) 2) 1/4)
(*.f64 1/4 (pow.f64 (+.f64 im im) 2))
(/.f64 2 (/.f64 2 (pow.f64 im 2)))
(pow.f64 im 2)
(/.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(/.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 2 (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 1 (/.f64 1 (pow.f64 im 2)))
(pow.f64 im 2)
(/.f64 4 (/.f64 4 (pow.f64 im 2)))
(pow.f64 im 2)
(/.f64 4 (-.f64 0 (*.f64 2 (/.f64 -2 (pow.f64 im 2)))))
(pow.f64 im 2)
(/.f64 4 (-.f64 0 (neg.f64 (/.f64 4 (pow.f64 im 2)))))
(pow.f64 im 2)
(/.f64 (*.f64 2 (pow.f64 im 2)) 2)
(pow.f64 im 2)
(/.f64 (/.f64 4 (pow.f64 im 2)) (*.f64 (/.f64 2 (pow.f64 im 2)) (/.f64 2 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 8 (*.f64 2 (/.f64 4 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) 4)
(pow.f64 im 2)
(/.f64 -2 (/.f64 -2 (pow.f64 im 2)))
(pow.f64 im 2)
(/.f64 -2 (*.f64 (*.f64 2 (/.f64 -2 (pow.f64 im 2))) 1/2))
(pow.f64 im 2)
(/.f64 (neg.f64 (pow.f64 im 2)) -1)
(pow.f64 im 2)
(/.f64 (/.f64 1 (pow.f64 im 2)) (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2)))
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2)
(pow.f64 im 2)
(/.f64 -1 (/.f64 (/.f64 -2 (pow.f64 im 2)) 2))
(pow.f64 im 2)
(/.f64 -1 (*.f64 (/.f64 -2 (pow.f64 im 2)) 1/2))
(pow.f64 im 2)
(/.f64 -1 (neg.f64 (/.f64 1 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (pow.f64 im 2) 1/2) 1/2)) (/.f64 (pow.f64 im 2) 4))
(pow.f64 im 2)
(/.f64 16 (*.f64 4 (/.f64 4 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 8)
(pow.f64 im 2)
(/.f64 -4 (*.f64 2 (/.f64 -2 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 -4 (neg.f64 (/.f64 4 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 1/2 (/.f64 1/2 (pow.f64 im 2)))
(pow.f64 im 2)
(/.f64 (/.f64 1 (/.f64 4 (pow.f64 im 2))) 1/4)
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) -2) -2)
(pow.f64 im 2)
(/.f64 -1/2 (-.f64 0 (/.f64 1/2 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 -8 (*.f64 4 (/.f64 -2 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 -8 (*.f64 2 (neg.f64 (/.f64 4 (pow.f64 im 2)))))
(pow.f64 im 2)
(/.f64 -8 (neg.f64 (*.f64 2 (/.f64 4 (pow.f64 im 2)))))
(pow.f64 im 2)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) 4) 1/2) 8)
(pow.f64 im 2)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 1/2) -2)
(pow.f64 im 2)
(/.f64 (/.f64 (neg.f64 (pow.f64 im 2)) 2) -1/2)
(pow.f64 im 2)
(/.f64 -16 (-.f64 0 (*.f64 4 (/.f64 4 (pow.f64 im 2)))))
(pow.f64 im 2)
(/.f64 (neg.f64 (/.f64 1 (pow.f64 im 2))) (-.f64 0 (/.f64 (/.f64 1 (pow.f64 im 2)) (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 (+.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))) (*.f64 (/.f64 2 (pow.f64 im 2)) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))))
(pow.f64 im 2)
(/.f64 (+.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (/.f64 2 (pow.f64 im 2))))
(pow.f64 im 2)
(/.f64 (+.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))) (*.f64 (*.f64 4 (/.f64 1/2 (pow.f64 im 2))) (*.f64 4 (/.f64 1/2 (pow.f64 im 2)))))
(pow.f64 im 2)
(neg.f64 (neg.f64 (pow.f64 im 2)))
(pow.f64 im 2)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
8.2b
(/.f64 (pow.f64 im 2) re)
17.0b
(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
@inf
(sqrt.f64 (/.f64 (pow.f64 im 2) re))
0.0ms
re
@0
(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))

rewrite97.0ms (0.5%)

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

simplify696.0ms (3.4%)

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

localize87.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 60 to 36 computations (40% saved)

series3.0ms (0%)

Counts
3 → 24
Calls

15 calls:

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

rewrite152.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify698.0ms (3.4%)

Algorithm
egg-herbie
Rules
5138×rational.json-simplify-41
2390×rational.json-simplify-35
2052×rational.json-simplify-2
1554×rational.json-simplify-53
1188×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01162256
12282256
27322164
317422164
438272164
542932164
645132164
746562164
847902164
949212164
1064852164
1168842164
1268942164
1368952164
1468982164
1568992164
1668992164
1770282164
1871572164
Stop Event
node limit
Counts
78 → 74
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -2)) 4)
(/.f64 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re))) 8)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)))) (*.f64 2 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re))))) 32)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 2 im)) 4))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(*.f64 (/.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8))) 32)
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(-.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 0)
(*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1/2))
(*.f64 2 (+.f64 (*.f64 (sqrt.f64 (+.f64 im im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4))))
(*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4)) (*.f64 (sqrt.f64 (+.f64 im im)) 1/2)))
(*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1)
(*.f64 1 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))))
(*.f64 4 (/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4))
(*.f64 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im)))) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im)))))
(*.f64 1/2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re))))
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) (*.f64 2 (sqrt.f64 (+.f64 im im)))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1)
(/.f64 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8))) 32)
(pow.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1)
Outputs
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im 2))
(sqrt.f64 (*.f64 2 im))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2))
(*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2))))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)) (sqrt.f64 (*.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 (/.f64 1 im) 2)))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (sqrt.f64 (*.f64 2 im)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4)))
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 0)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) 2)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -2)) 4)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re))) 8)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)))) 16)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)))) (*.f64 2 (*.f64 4 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re))))) 32)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) 1)
(*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im))))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re))
(*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im))))
(+.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(+.f64 0 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(-.f64 (sqrt.f64 (/.f64 2 im)) 0)
(sqrt.f64 (/.f64 2 im))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2))
(sqrt.f64 (/.f64 2 im))
(*.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(*.f64 1 (sqrt.f64 (/.f64 2 im)))
(sqrt.f64 (/.f64 2 im))
(*.f64 4 (/.f64 (sqrt.f64 (/.f64 2 im)) 4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 1/2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 1/4)
(sqrt.f64 (/.f64 2 im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 2 im))))
(sqrt.f64 (/.f64 2 im))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 2 im)) 4))
(sqrt.f64 (/.f64 2 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 1/2) 2)
(sqrt.f64 (/.f64 2 im))
(*.f64 (/.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 2 im))) 2)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 4) 4)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) 8) 8)
(sqrt.f64 (/.f64 2 im))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) 16)
(sqrt.f64 (/.f64 2 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 2 im)) 8))) 32)
(sqrt.f64 (/.f64 2 im))
(pow.f64 (sqrt.f64 (/.f64 2 im)) 1)
(sqrt.f64 (/.f64 2 im))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 0)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1/2))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 2 (+.f64 (*.f64 (sqrt.f64 (+.f64 im im)) 1/2) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4))))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/4)) (*.f64 (sqrt.f64 (+.f64 im im)) 1/2)))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im)))) 1/2)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4) 1/4)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im)))))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1/2 (+.f64 (*.f64 2 (sqrt.f64 (+.f64 im im))) (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re))))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (neg.f64 re)) (*.f64 2 (sqrt.f64 (+.f64 im im)))))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4))
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1/2) 2)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(*.f64 (/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4) 4)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im)))) 2)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 4) 4)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8) 8)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8)) 16)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 8))) 32)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(pow.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2)) (sqrt.f64 (+.f64 im im))) 1)
(+.f64 (*.f64 re (*.f64 -1/2 (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 2 im)) re)) (sqrt.f64 (+.f64 im im)))
(+.f64 (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 2 im)))) (sqrt.f64 (+.f64 im im)))

eval686.0ms (3.4%)

Compiler

Compiled 14032 to 10948 computations (22% saved)

prune144.0ms (0.7%)

Pruning

12 alts after pruning (1 fresh and 11 done)

PrunedKeptTotal
New6721673
Fresh000
Picked011
Done11011
Total67312685
Error
0.4b
Counts
685 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
29.6b
(*.f64 1/2 (+.f64 (sqrt.f64 (+.f64 im im)) (*.f64 (sqrt.f64 (/.f64 2 im)) (*.f64 re -1/2))))
50.1b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
29.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
50.0b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))
55.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
55.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (/.f64 2 re) (/.f64 2 (pow.f64 im 2)))))
59.8b
(*.f64 1/2 (sqrt.f64 (*.f64 re (/.f64 (/.f64 (/.f64 1 (/.f64 re (pow.f64 im 2))) (/.f64 re (pow.f64 im 2))) (pow.f64 im 2)))))
45.9b
(*.f64 1/2 (sqrt.f64 (*.f64 re -4)))
29.4b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
41.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
27.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 re -2)))))
Compiler

Compiled 170 to 137 computations (19.4% saved)

regimes249.0ms (1.2%)

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

7 calls:

109.0ms
re
32.0ms
im
23.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
21.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
21.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
10.7b6re
20.1b4im
14.6b4(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
14.6b4(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
14.3b4(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
14.3b4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
21.2b3(*.f64 im im)
Compiler

Compiled 297 to 224 computations (24.6% saved)

bsearch249.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
21347.00698010681
387600.47213712183
27.0ms
1.2328382608899708e-38
5.629141830926244e-34
34.0ms
7.018462998642184e-97
3.878402589475041e-86
19.0ms
-130.5357036088598
-0.1908767991885335
98.0ms
-5.923980565908942e+137
-2.1927153406067907e+134
Results
147.0ms508×body256valid
44.0msbody4096valid
25.0ms63×body2048valid
18.0ms61×body1024valid
5.0ms22×body512valid
Compiler

Compiled 990 to 795 computations (19.7% saved)

regimes165.0ms (0.8%)

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

2 calls:

86.0ms
im
77.0ms
re
Results
ErrorSegmentsBranch
11.7b5re
21.3b4im
Compiler

Compiled 76 to 61 computations (19.7% saved)

bsearch257.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
176.0ms
21347.00698010681
387600.47213712183
28.0ms
1.2328382608899708e-38
5.629141830926244e-34
35.0ms
7.018462998642184e-97
3.878402589475041e-86
19.0ms
-8.874085033518391e+61
-7.726607308839281e+57
Results
155.0ms23×body512valid
52.0ms390×body256valid
26.0ms65×body2048valid
16.0ms49×body1024valid
0.0msbody4096valid
Compiler

Compiled 702 to 587 computations (16.4% saved)

regimes202.0ms (1%)

Accuracy

Total -41.7b remaining (-210%)

Threshold costs -41.7b (-210%)

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

2 calls:

193.0ms
re
7.0ms
im
Results
ErrorSegmentsBranch
19.9b2re
22.9b2im
Compiler

Compiled 36 to 29 computations (19.4% saved)

bsearch18.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
-8.874085033518391e+61
-7.726607308839281e+57
Results
16.0ms128×body256valid
Compiler

Compiled 166 to 144 computations (13.3% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064392
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -450000000000000014778703120142216735544155654861825262980541041816436153104454597994800592032477335707777277152945096010391820785395171328) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re -5944751508129055/9007199254740992) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 re 8958978968711217/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 5363734393030611/383123885216472214589586756787577295904684780545900544) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (if (<=.f64 re 35000) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))))
(if (<=.f64 re -81999999999999994422497401654109666032732921453604489610133504) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re 7139186365691751/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 8081519453784961/2993155353253689176481146537402947624255349848014848) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (if (<=.f64 re 370000) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))))
(if (<=.f64 re -17000000000000001280452839109198142325810919361470675816546304) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
Outputs
(if (<=.f64 re -450000000000000014778703120142216735544155654861825262980541041816436153104454597994800592032477335707777277152945096010391820785395171328) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re -5944751508129055/9007199254740992) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 re 8958978968711217/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 5363734393030611/383123885216472214589586756787577295904684780545900544) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (if (<=.f64 re 35000) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))))
(if (<=.f64 re -81999999999999994422497401654109666032732921453604489610133504) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (if (<=.f64 re 7139186365691751/279968092772225526319680285071055534765205687154331191862498637620473983897520118172609686658950889472) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (if (<=.f64 re 8081519453784961/2993155353253689176481146537402947624255349848014848) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (if (<=.f64 re 370000) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))))
(if (<=.f64 re -17000000000000001280452839109198142325810919361470675816546304) (*.f64 1/2 (sqrt.f64 (*.f64 re -4))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
Compiler

Compiled 153 to 119 computations (22.2% saved)

soundness547.0ms (2.7%)

Algorithm
egg-herbie
Rules
1468×rational.json-simplify-51
1210×rational.json-simplify-35
1210×rational.json-simplify-35
1210×rational.json-simplify-35
940×rational.json-simplify-44
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03466404
18406268
225796154
355766124
02975389
16535341
217255219
352635171
03466404
18406268
225796154
355766124
03466404
18406268
225796154
355766124
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 200 to 168 computations (16% saved)

end217.0ms (1.1%)

Compiler

Compiled 147 to 112 computations (23.8% saved)

Profiling

Loading profile data...