Details

Time bar (total: 42.7s)

analyze1.0s (2.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
12.5%12.5%87.4%0.1%0%0%0%5
18.8%18.7%81.2%0.1%0%0%0%6
37.5%37.5%62.4%0.1%0%0%0%7
42.2%42.1%57.8%0.1%0%0%0%8
54.7%54.6%45.3%0.1%0%0%0%9
57.4%57.4%42.5%0.1%0%0%0%10
64.5%64.4%35.5%0.1%0%0%0%11
65.9%65.9%34%0.1%0%0%0%12
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample6.7s (15.8%)

Results
3.9s6380×body256valid
1.3s659×body2048valid
846.0ms569×body4096valid
531.0ms412×body1024valid
171.0ms236×body512valid
Bogosity

preprocess367.0ms (0.9%)

Algorithm
egg-herbie
Rules
1280×rational_best-simplify-62
900×rational_best-simplify-3
876×rational_best-simplify-1
800×rational_best-simplify-85
522×rational_best-simplify-55
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02190
14090
25890
38390
412890
523290
674890
7427390
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 im (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify873.0ms (2%)

Algorithm
egg-herbie
Rules
1002×rational_best-simplify-56
880×rational_best-simplify-63
648×rational_best-simplify-62
606×rational_best-simplify-49
590×rational_best-simplify-64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
12645
24145
36145
49445
516945
650645
7246345
8728545
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))

eval5.0ms (0%)

Compiler

Compiled 32 to 18 computations (43.8% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 17 to 12 computations (29.4% saved)

localize86.0ms (0.2%)

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

Compiled 77 to 19 computations (75.3% saved)

series39.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite433.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
844×rational_best-simplify-63
792×rational_best-simplify-51
778×rational_best-simplify-57
754×rational_best-4
754×rational_best-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013110
190110
2193110
3542110
41941110
Stop Event
node limit
Counts
4 → 164
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 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))))) (#(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 (neg.f64 (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) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.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) 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))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 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 (neg.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 pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 re (neg.f64 (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))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 re) (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) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re re) (+.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re 1/2) (+.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re 1/2) (+.f64 (/.f64 re -2) (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re 1/2) (/.f64 (-.f64 0 (+.f64 re (*.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))) 2) (+.f64 (neg.f64 re) (/.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) (+.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (-.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (/.f64 (neg.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 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))) (*.f64 re 1/2)) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) (/.f64 (-.f64 0 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 re re) (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3) 2) 2) (/.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (-.f64 (/.f64 re -2) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3) 4) (/.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 6) 8) (/.f64 (*.f64 -2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (neg.f64 (*.f64 re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (*.f64 -2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (/.f64 (sqrt.f64 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2) (*.f64 2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (/.f64 (sqrt.f64 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re re) (-.f64 (*.f64 im im) (*.f64 (*.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (*.f64 re (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im im) (/.f64 (+.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) (-.f64 (*.f64 im im) (*.f64 re re))) 2))))) (#(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)) (/.f64 (*.f64 (*.f64 re re) 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 re re)) (-.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 im im) 2) (-.f64 (*.f64 im im) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (+.f64 (*.f64 im (neg.f64 im)) (/.f64 (*.f64 re re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (-.f64 (/.f64 (*.f64 re re) -2) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (+.f64 (/.f64 (*.f64 re re) -2) (*.f64 im (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) 2) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 (*.f64 im im) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (+.f64 (*.f64 re (neg.f64 re)) (/.f64 (*.f64 im im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (+.f64 (/.f64 (*.f64 im im) -2) (*.f64 re (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im im) 2) (/.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re (+.f64 re re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 re (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (-.f64 (*.f64 im (neg.f64 im)) (fabs.f64 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (-.f64 (*.f64 re (neg.f64 re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re re) (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 im im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (*.f64 im im) 2)) (+.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (/.f64 (*.f64 im im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (/.f64 (*.f64 -3 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im im) (/.f64 (*.f64 re re) -2)) (/.f64 (*.f64 re re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 re re) 0) (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (*.f64 im im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 re re) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2) (*.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 4) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (*.f64 im (neg.f64 im))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) (-.f64 (/.f64 (*.f64 im im) -2) (fabs.f64 (/.f64 (*.f64 re re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 re (neg.f64 re))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) (-.f64 (/.f64 (*.f64 re re) -2) (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 im (neg.f64 im))) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im im) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 re re))) (-.f64 (/.f64 (*.f64 im im) 2) (*.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 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 re (neg.f64 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 re (neg.f64 re)) (*.f64 im im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 1/8)))) (#(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 (*.f64 re re) (*.f64 im im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) -1)))) (#(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 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 re (*.f64 re 4))) (*.f64 im (*.f64 2 (*.f64 im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 re 4) (*.f64 re 4)) (*.f64 (*.f64 im 4) (*.f64 im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 re (*.f64 re 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 im 4) (*.f64 im 4)) (*.f64 (*.f64 re 4) (*.f64 re 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re (*.f64 re 4)) (neg.f64 (*.f64 im (*.f64 im 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im (*.f64 im 4)) (neg.f64 (*.f64 re (*.f64 re 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im (*.f64 im 4)) (*.f64 2 (-.f64 (*.f64 im im) (*.f64 re re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))))) (#(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 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))))))

simplify649.0ms (1.5%)

Algorithm
egg-herbie
Rules
1026×rational_best-simplify-1
978×rational_best-simplify-49
910×rational_best-simplify-57
906×rational_best-simplify-55
828×rational_best-simplify-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05218826
114408534
237968260
Stop Event
node limit
Counts
244 → 325
Calls
Call 1
Inputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 -1 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(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 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -1)
(*.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))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 1/8)
(*.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(/.f64 (neg.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)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re))
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(-.f64 0 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re)))
(-.f64 (+.f64 re re) (+.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (*.f64 re 1/2) (+.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 re -2)))
(-.f64 (*.f64 re 1/2) (+.f64 (/.f64 re -2) (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (*.f64 re 1/2) (/.f64 (-.f64 0 (+.f64 re (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))) 2))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (+.f64 (neg.f64 re) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2)))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (+.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) (neg.f64 re)))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (-.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) re) 2))
(-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2))
(-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (/.f64 (neg.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8))
(-.f64 (+.f64 re (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2)) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2))
(-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 re 1/2)) (/.f64 re -2))
(-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) (/.f64 (-.f64 0 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3)) 4))
(-.f64 (-.f64 re re) (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2) re) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3) 2) 2) (/.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2) 2))
(-.f64 (/.f64 (+.f64 re (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (-.f64 (/.f64 re -2) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2)) 2))
(-.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3) 4) (/.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(-.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 6) 8) (/.f64 (*.f64 -2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 8))
(-.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 1/8)
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(*.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(*.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 1/16)
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) (*.f64 2 (*.f64 re 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 8)
(/.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 4)
(/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (neg.f64 (*.f64 re 4))) 4)
(pow.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(neg.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))
(-.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(-.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) -2))
(-.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (*.f64 -2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 4))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (sqrt.f64 2))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (/.f64 (sqrt.f64 2) 2))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2) (*.f64 2 (sqrt.f64 2)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 1/8)
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 4))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (/.f64 (sqrt.f64 2) 4))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) (sqrt.f64 1/2))
(/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(-.f64 (*.f64 re re) (-.f64 (*.f64 im im) (*.f64 (*.f64 im im) 2)))
(-.f64 (*.f64 im im) (*.f64 re (neg.f64 re)))
(-.f64 (*.f64 im im) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im)))
(-.f64 (*.f64 im im) (/.f64 (+.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) (-.f64 (*.f64 im im) (*.f64 re re))) 2))
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) 0) 2))
(-.f64 0 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (*.f64 re (+.f64 re re)) (-.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 (*.f64 im im) 2) (-.f64 (*.f64 im im) (*.f64 re re)))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2))
(-.f64 (/.f64 (*.f64 re re) 2) (+.f64 (*.f64 im (neg.f64 im)) (/.f64 (*.f64 re re) -2)))
(-.f64 (/.f64 (*.f64 re re) 2) (-.f64 (/.f64 (*.f64 re re) -2) (*.f64 im im)))
(-.f64 (/.f64 (*.f64 re re) 2) (+.f64 (/.f64 (*.f64 re re) -2) (*.f64 im (neg.f64 im))))
(-.f64 (/.f64 (*.f64 re re) 2) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 (*.f64 im im) 2)) 2))
(-.f64 (/.f64 (*.f64 im im) 2) (+.f64 (*.f64 re (neg.f64 re)) (/.f64 (*.f64 im im) -2)))
(-.f64 (/.f64 (*.f64 im im) 2) (+.f64 (/.f64 (*.f64 im im) -2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (*.f64 im im) 2) (/.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re (+.f64 re re))) 2))
(-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 re (*.f64 re -2)))
(-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (-.f64 (*.f64 im (neg.f64 im)) (fabs.f64 (/.f64 (*.f64 re re) 2))))
(-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (-.f64 (*.f64 re (neg.f64 re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (+.f64 (*.f64 re re) (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 im im) -2))
(-.f64 (*.f64 3 (/.f64 (*.f64 im im) 2)) (+.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (/.f64 (*.f64 im im) -2)))
(-.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (/.f64 (*.f64 -3 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2))
(-.f64 (-.f64 (*.f64 im im) (/.f64 (*.f64 re re) -2)) (/.f64 (*.f64 re re) -2))
(-.f64 (*.f64 (*.f64 re re) 0) (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (*.f64 im im) -2))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2) 2))
(-.f64 (/.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) 2))
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2) (*.f64 re re)) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 4) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) 4))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (*.f64 im (neg.f64 im))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 re re) 2))))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) (-.f64 (/.f64 (*.f64 im im) -2) (fabs.f64 (/.f64 (*.f64 re re) 2))))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 re (neg.f64 re))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) (-.f64 (/.f64 (*.f64 re re) -2) (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 im (neg.f64 im))) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (-.f64 (*.f64 im im) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 re re))) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 im im)))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 -1 (-.f64 (*.f64 re (neg.f64 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 re (neg.f64 re)) (*.f64 im im)) -1)
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(*.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 1/8)
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) 2)
(/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) -1)
(/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 re (*.f64 re 4))) (*.f64 im (*.f64 2 (*.f64 im 4)))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 re 4) (*.f64 re 4)) (*.f64 (*.f64 im 4) (*.f64 im 4))) 16)
(/.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 re (*.f64 re 4)))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 im 4) (*.f64 im 4)) (*.f64 (*.f64 re 4) (*.f64 re 4))) 16)
(/.f64 (-.f64 (*.f64 re (*.f64 re 4)) (neg.f64 (*.f64 im (*.f64 im 4)))) 4)
(/.f64 (-.f64 (*.f64 im (*.f64 im 4)) (neg.f64 (*.f64 re (*.f64 re 4)))) 4)
(/.f64 (-.f64 (*.f64 im (*.f64 im 4)) (*.f64 2 (-.f64 (*.f64 im im) (*.f64 re re)))) 2)
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(neg.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(fabs.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
Outputs
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(+.f64 im (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 (pow.f64 re 2) (/.f64 1/2 im))) (*.f64 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/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 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3))) (+.f64 im (+.f64 (*.f64 (pow.f64 re 6) (/.f64 1/16 (pow.f64 im 5))) (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))))
(+.f64 (*.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 (pow.f64 re 6) (/.f64 1/16 (pow.f64 im 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (+.f64 im (*.f64 (pow.f64 re 2) (/.f64 1/2 im))) (*.f64 (pow.f64 re 6) (/.f64 1/16 (pow.f64 im 5)))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 (pow.f64 im 2) (/.f64 1/2 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 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 re (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (neg.f64 re))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 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 (pow.f64 im 2) (/.f64 -1/2 re)) (+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) (neg.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (-.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) re))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5)))) (+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) (neg.f64 re)))
(+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5)))) (neg.f64 re)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5)))) (-.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) re))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 re (*.f64 (pow.f64 im 2) (/.f64 1/2 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 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(+.f64 (+.f64 re (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) 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 im (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(+.f64 (+.f64 im (*.f64 (pow.f64 re 2) (/.f64 1/2 im))) (*.f64 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/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 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3))) (+.f64 im (+.f64 (*.f64 (pow.f64 re 6) (/.f64 1/16 (pow.f64 im 5))) (*.f64 (pow.f64 re 2) (/.f64 1/2 im)))))
(+.f64 (*.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 (pow.f64 re 6) (/.f64 1/16 (pow.f64 im 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (+.f64 im (*.f64 (pow.f64 re 2) (/.f64 1/2 im))) (*.f64 (pow.f64 re 6) (/.f64 1/16 (pow.f64 im 5)))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (neg.f64 im) (*.f64 (pow.f64 re 2) (/.f64 -1/2 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 (pow.f64 re 2) (/.f64 -1/2 im)) (*.f64 (pow.f64 re 4) (/.f64 1/8 (pow.f64 im 3)))))
(+.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 (neg.f64 im) (*.f64 (pow.f64 re 2) (/.f64 -1/2 im))) (+.f64 (*.f64 (pow.f64 re 4) (/.f64 1/8 (pow.f64 im 3))) (*.f64 (pow.f64 re 6) (/.f64 -1/16 (pow.f64 im 5)))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)) (+.f64 im re))
(+.f64 im (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3))) (+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)) (+.f64 im re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im re)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) (/.f64 -1/2 re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))))
(+.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 (pow.f64 im 2) (/.f64 -1/2 re)) (+.f64 (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5))) (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (+.f64 (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5))) (*.f64 (+.f64 (*.f64 1/64 (pow.f64 (pow.f64 im 4) 2)) (*.f64 1/16 (pow.f64 im 8))) (/.f64 1/2 (pow.f64 re 7))))))
(+.f64 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (+.f64 (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5))) (*.f64 (+.f64 (*.f64 1/64 (pow.f64 im 8)) (*.f64 1/16 (pow.f64 im 8))) (/.f64 1/2 (pow.f64 re 7))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))) (+.f64 (*.f64 (pow.f64 im 6) (/.f64 -1/16 (pow.f64 re 5))) (*.f64 (+.f64 (*.f64 1/64 (pow.f64 im 8)) (*.f64 1/16 (pow.f64 im 8))) (/.f64 1/2 (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 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 1/2 re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 re 2))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)) (+.f64 im re))
(+.f64 im (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(+.f64 (*.f64 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3))) (+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)) (+.f64 im re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (+.f64 im re) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 1/2 im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im re)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(-.f64 re im)
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 re 2) (/.f64 -1/2 im))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 -1/2 im)) (+.f64 re (neg.f64 im)))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 -1/2 im)) (-.f64 re im))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(+.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 re 2) (/.f64 -1/2 im))) (+.f64 re (*.f64 (pow.f64 re 4) (/.f64 1/8 (pow.f64 im 3)))))
(+.f64 (*.f64 (pow.f64 re 4) (/.f64 1/8 (pow.f64 im 3))) (+.f64 (*.f64 (pow.f64 re 2) (/.f64 -1/2 im)) (-.f64 re im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(sqrt.f64 (*.f64 2 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 2 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 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 (*.f64 re (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (sqrt.f64 2)))))))
(+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.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 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (+.f64 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (*.f64 (pow.f64 re 2) (sqrt.f64 2)))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 re 3) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (sqrt.f64 2)))))))
(+.f64 (*.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 1/2 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))))))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 im 2)) (*.f64 1/2 (+.f64 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (*.f64 (pow.f64 re 2) (sqrt.f64 2))))))) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/4 (pow.f64 (sqrt.f64 (/.f64 1 im)) 2))) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4)))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (*.f64 1/16 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2))) 2)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (*.f64 1/16 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2))) 2))) (*.f64 2 (pow.f64 re 2)))))) 1/2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (*.f64 1/16 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2))) 2)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 -1/8 (pow.f64 re 2))))))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))) (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 1 (sqrt.f64 2)))) 2)) (pow.f64 re 2)))) (*.f64 (pow.f64 im 6) (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)
(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 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))
(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 0 (neg.f64 (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) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) 2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (neg.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) 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))) 4) 1/4)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 1/4 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4)) 1/8)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (sqrt.f64 1/2))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 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 (neg.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)))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 0)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 0 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 re)))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (+.f64 re re) (+.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (*.f64 re 1/2) (+.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 re -2)))
(+.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 1/2 re)) (neg.f64 (/.f64 re -2)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 1/2 re) (/.f64 re -2)))
(-.f64 (*.f64 re 1/2) (+.f64 (/.f64 re -2) (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 1/2 re)) (neg.f64 (/.f64 re -2)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 1/2 re) (/.f64 re -2)))
(-.f64 (*.f64 re 1/2) (/.f64 (-.f64 0 (+.f64 re (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2))) 2))
(+.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 1/2 re)) (neg.f64 (/.f64 re -2)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 1/2 re) (/.f64 re -2)))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (+.f64 (neg.f64 re) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2)))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (+.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2) (neg.f64 re)))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2) (/.f64 (-.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) re) 2))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (/.f64 (neg.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) 8))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (+.f64 re (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 2)) (/.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) -2))
(-.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 re 1/2)) (/.f64 re -2))
(+.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (*.f64 1/2 re)) (neg.f64 (/.f64 re -2)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 1/2 re) (/.f64 re -2)))
(-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) (/.f64 (-.f64 0 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3)) 4))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (-.f64 re re) (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (-.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2) re) 2))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3) 2) 2) (/.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) -2) 2))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (+.f64 re (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (-.f64 (/.f64 re -2) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 3) 2)) 2))
(/.f64 (-.f64 (+.f64 re (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) (-.f64 (/.f64 re -2) (/.f64 (*.f64 3 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(-.f64 (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 6) 8) (-.f64 (/.f64 re -4) (+.f64 (/.f64 re 2) (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))))
(/.f64 (-.f64 (/.f64 (*.f64 3 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (+.f64 (/.f64 (-.f64 (*.f64 re -2) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) (neg.f64 re))) 2)
(-.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 3) 4) (/.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 6) 8) (/.f64 (*.f64 -2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 8))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 2 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 1/2)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 1/4)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 1/8)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 1/4 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 1/16)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2) 2)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4) 4)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8) 8)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (*.f64 2 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 8)) 16)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (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 re 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (*.f64 2 (*.f64 re 4))) 8)
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re 8) 8))
(/.f64 (+.f64 (*.f64 2 (*.f64 re 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 4 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (*.f64 2 (*.f64 re 4))) 8)
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re 8) 8))
(/.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4))) 4)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (neg.f64 (*.f64 re 4))) 4)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(pow.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(neg.f64 (-.f64 (neg.f64 re) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 re (neg.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(+.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) -2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 2) (/.f64 (*.f64 -2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) -2) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) (sqrt.f64 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) (/.f64 (sqrt.f64 2) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 2) (*.f64 2 (sqrt.f64 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 1/8)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (/.f64 (sqrt.f64 2) 4))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)) (sqrt.f64 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2))) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 re re) (-.f64 (*.f64 im im) (*.f64 (*.f64 im im) 2)))
(-.f64 (*.f64 2 (*.f64 im im)) (-.f64 (*.f64 im im) (*.f64 re re)))
(-.f64 (*.f64 re re) (-.f64 (*.f64 im im) (*.f64 im (*.f64 im 2))))
(+.f64 (*.f64 re re) (-.f64 (*.f64 im (*.f64 im 2)) (*.f64 im im)))
(-.f64 (*.f64 im im) (*.f64 re (neg.f64 re)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (/.f64 (+.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) (-.f64 (*.f64 im im) (*.f64 re re))) 2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 0)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) 0) 2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 0 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 re (+.f64 re re)) (-.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 (*.f64 im im) 2) (-.f64 (*.f64 im im) (*.f64 re re)))
(-.f64 (*.f64 2 (*.f64 im im)) (-.f64 (*.f64 im im) (*.f64 re re)))
(-.f64 (*.f64 re re) (-.f64 (*.f64 im im) (*.f64 im (*.f64 im 2))))
(+.f64 (*.f64 re re) (-.f64 (*.f64 im (*.f64 im 2)) (*.f64 im im)))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 re re) 2) (+.f64 (*.f64 im (neg.f64 im)) (/.f64 (*.f64 re re) -2)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 re re) 2) (-.f64 (/.f64 (*.f64 re re) -2) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 re re) 2) (+.f64 (/.f64 (*.f64 re re) -2) (*.f64 im (neg.f64 im))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 re re) 2) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 (*.f64 im im) 2)) 2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 im im) 2) (+.f64 (*.f64 re (neg.f64 re)) (/.f64 (*.f64 im im) -2)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 im im) 2) (+.f64 (/.f64 (*.f64 im im) -2) (*.f64 re (neg.f64 re))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (*.f64 im im) 2) (/.f64 (-.f64 (*.f64 im (neg.f64 im)) (*.f64 re (+.f64 re re))) 2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 re (*.f64 re -2)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (-.f64 (*.f64 im (neg.f64 im)) (fabs.f64 (/.f64 (*.f64 re re) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (-.f64 (*.f64 re (neg.f64 re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (+.f64 (*.f64 re re) (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 im im) -2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 3 (/.f64 (*.f64 im im) 2)) (+.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (/.f64 (*.f64 im im) -2)))
(-.f64 (*.f64 (*.f64 im im) 3/2) (+.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (/.f64 (*.f64 im im) -2)))
(-.f64 (*.f64 (*.f64 im im) 3/2) (-.f64 (*.f64 1 (/.f64 (*.f64 im im) 2)) (*.f64 re re)))
(+.f64 (-.f64 (*.f64 (*.f64 im im) 3/2) (*.f64 (*.f64 im im) 1/2)) (*.f64 re re))
(-.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (/.f64 (*.f64 -3 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -3/2) 2))
(/.f64 (-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 -3 (+.f64 (*.f64 re re) (*.f64 im im)))) 4)
(/.f64 (-.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -3)) 4)
(-.f64 (-.f64 (*.f64 im im) (/.f64 (*.f64 re re) -2)) (/.f64 (*.f64 re re) -2))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 (*.f64 re re) 0) (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (*.f64 im im) -2))
(-.f64 (-.f64 (*.f64 re re) (*.f64 (*.f64 im im) -2)) (*.f64 im im))
(-.f64 (*.f64 re re) (+.f64 (*.f64 im im) (*.f64 (*.f64 im im) -2)))
(-.f64 (*.f64 re re) (+.f64 (*.f64 im im) (*.f64 im (*.f64 im -2))))
(-.f64 (/.f64 (+.f64 (*.f64 re re) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 re re) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (+.f64 (/.f64 (*.f64 re re) -2) (*.f64 (*.f64 im im) -3/2))) 2)
(/.f64 (-.f64 (+.f64 (*.f64 re re) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (+.f64 (*.f64 (*.f64 re re) -1/2) (*.f64 (*.f64 im im) -3/2))) 2)
(/.f64 (+.f64 (/.f64 (*.f64 re re) 2) (-.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 im im) -3/2) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2)))) 2)
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2) 2))
(-.f64 (/.f64 (*.f64 3 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -4))
(/.f64 (-.f64 (*.f64 im im) (-.f64 (*.f64 re (neg.f64 re)) (*.f64 3 (+.f64 (*.f64 re re) (*.f64 im im))))) 4)
(-.f64 (/.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (+.f64 (/.f64 (*.f64 im im) -2) (*.f64 (*.f64 re re) -3/2))) 2)
(/.f64 (-.f64 (+.f64 (*.f64 im im) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 2)) (+.f64 (*.f64 (*.f64 im im) -1/2) (*.f64 (*.f64 re re) -3/2))) 2)
(/.f64 (+.f64 (-.f64 (*.f64 -3 (*.f64 -1/2 (*.f64 im im))) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -2)) (neg.f64 (*.f64 (*.f64 re re) -3/2))) 2)
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im 4))) 2) 2) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2) (*.f64 re re)) 2))
(-.f64 (/.f64 (+.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 4 (*.f64 im im))) 4) (/.f64 (-.f64 (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) 2) (*.f64 re re)) 2))
(-.f64 (/.f64 (*.f64 re re) 2) (-.f64 (/.f64 (*.f64 (+.f64 im re) (-.f64 im re)) 4) (/.f64 (+.f64 (*.f64 re re) (+.f64 (*.f64 im im) (*.f64 4 (*.f64 im im)))) 4)))
(-.f64 (/.f64 (*.f64 re re) 2) (+.f64 (-.f64 (/.f64 (*.f64 (+.f64 im re) (-.f64 im re)) 4) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) (*.f64 im (neg.f64 im))))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 3) 4) (/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) 4))
(-.f64 (/.f64 (*.f64 3 (+.f64 (*.f64 re re) (*.f64 im im))) 4) (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) -4))
(/.f64 (-.f64 (*.f64 im im) (-.f64 (*.f64 re (neg.f64 re)) (*.f64 3 (+.f64 (*.f64 re re) (*.f64 im im))))) 4)
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (*.f64 im (neg.f64 im))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 re re) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 re re) 2)) (/.f64 (*.f64 im im) -2)) (-.f64 (/.f64 (*.f64 im im) -2) (fabs.f64 (/.f64 (*.f64 re re) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 re (neg.f64 re))) (-.f64 0 (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (/.f64 (*.f64 re re) -2)) (-.f64 (/.f64 (*.f64 re re) -2) (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (fabs.f64 (/.f64 (*.f64 im im) 2)) (*.f64 im (neg.f64 im))) (-.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (fabs.f64 (/.f64 (*.f64 im im) 2))))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (-.f64 (*.f64 im im) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 re re))) (-.f64 (/.f64 (*.f64 im im) 2) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 -1 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 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 (neg.f64 im)))
(+.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 (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) -1)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4) 1/4)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 4)) 1/8)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 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 (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)) -1)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 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 (neg.f64 im)))
(+.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 (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(/.f64 (+.f64 (*.f64 2 (*.f64 re (*.f64 re 4))) (*.f64 im (*.f64 2 (*.f64 im 4)))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 re (*.f64 re 4))) (*.f64 im (*.f64 4 (*.f64 im 2)))) 8)
(/.f64 (+.f64 (*.f64 re (*.f64 re 8)) (*.f64 im (*.f64 im 8))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 re 4) (*.f64 re 4)) (*.f64 (*.f64 im 4) (*.f64 im 4))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 re 4) (*.f64 re 4)) (*.f64 4 (*.f64 4 (*.f64 im im)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 re re) 16) (*.f64 (*.f64 im im) 16)) 16)
(/.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 re (*.f64 re 4)))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 re (*.f64 re 4))) (*.f64 im (*.f64 4 (*.f64 im 2)))) 8)
(/.f64 (+.f64 (*.f64 re (*.f64 re 8)) (*.f64 im (*.f64 im 8))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 im 4) (*.f64 im 4)) (*.f64 (*.f64 re 4) (*.f64 re 4))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 re 4) (*.f64 re 4)) (*.f64 4 (*.f64 4 (*.f64 im im)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 re re) 16) (*.f64 (*.f64 im im) 16)) 16)
(/.f64 (-.f64 (*.f64 re (*.f64 re 4)) (neg.f64 (*.f64 im (*.f64 im 4)))) 4)
(/.f64 (-.f64 (*.f64 re (*.f64 re 4)) (neg.f64 (*.f64 4 (*.f64 im im)))) 4)
(/.f64 (-.f64 (*.f64 4 (*.f64 im im)) (/.f64 (*.f64 re re) -1/4)) 4)
(-.f64 (/.f64 (*.f64 4 (*.f64 im im)) 4) (*.f64 re (neg.f64 re)))
(/.f64 (-.f64 (*.f64 im (*.f64 im 4)) (neg.f64 (*.f64 re (*.f64 re 4)))) 4)
(/.f64 (-.f64 (*.f64 re (*.f64 re 4)) (neg.f64 (*.f64 4 (*.f64 im im)))) 4)
(/.f64 (-.f64 (*.f64 4 (*.f64 im im)) (/.f64 (*.f64 re re) -1/4)) 4)
(-.f64 (/.f64 (*.f64 4 (*.f64 im im)) 4) (*.f64 re (neg.f64 re)))
(/.f64 (-.f64 (*.f64 im (*.f64 im 4)) (*.f64 2 (-.f64 (*.f64 im im) (*.f64 re re)))) 2)
(/.f64 (-.f64 (*.f64 4 (*.f64 im im)) (*.f64 2 (-.f64 (*.f64 im im) (*.f64 re re)))) 2)
(/.f64 (-.f64 (*.f64 4 (*.f64 im im)) (*.f64 2 (*.f64 (+.f64 im re) (-.f64 im re)))) 2)
(-.f64 (/.f64 (*.f64 4 (*.f64 im im)) 2) (*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) 1))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(neg.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(fabs.f64 (-.f64 (*.f64 re (neg.f64 re)) (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 im (neg.f64 im)))
(+.f64 (*.f64 re re) (*.f64 im im))

eval716.0ms (1.7%)

Compiler

Compiled 8316 to 5219 computations (37.2% saved)

prune341.0ms (0.8%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3178325
Fresh000
Picked011
Done000
Total3179326
Error
7.2b
Counts
326 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
46.9b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
46.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
48.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 re 2) (/.f64 -1/2 im)) (-.f64 re im)))))
42.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 197 to 162 computations (17.8% saved)

localize41.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series31.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite570.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1088×rational_best-simplify-108
658×rational_best-simplify-83
576×rational_best-simplify-47
536×rational_best-simplify-1
534×rational_best-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
16017
212017
328617
4100217
5656117
Stop Event
node limit
Counts
1 → 80
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (-.f64 re im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (-.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (sqrt.f64 (*.f64 (-.f64 re im) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (-.f64 re im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (*.f64 (sqrt.f64 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (*.f64 2 (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 (-.f64 re im)) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (-.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (-.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 re im)) 2) (*.f64 2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (-.f64 re im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (/.f64 (sqrt.f64 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 1 (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 2 (sqrt.f64 (-.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) 1/2) (*.f64 2 (sqrt.f64 (-.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (*.f64 1/4 (/.f64 (sqrt.f64 (-.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (*.f64 1/4 (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 re im)) 4) (*.f64 2 (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 re im)) 1/2) (*.f64 2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)) (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 2)) (*.f64 2 (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (sqrt.f64 (-.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 (*.f64 2 (-.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (sqrt.f64 (*.f64 (-.f64 re im) 8))) (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re))) (*.f64 (sqrt.f64 -1) (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)))))

simplify543.0ms (1.3%)

Algorithm
egg-herbie
Rules
1412×rational_best-simplify-51
1208×rational_best-simplify-80
1204×rational_best-simplify-1
996×rational_best-simplify-57
758×rational_best-simplify-55
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02292424
15662346
215722244
354492242
Stop Event
node limit
Counts
88 → 128
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 3) 4))
(-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(-.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 4))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1/2))
(*.f64 2 (*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (/.f64 (sqrt.f64 2) 4)))
(*.f64 2 (*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 1/2)
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 2) 4)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 (-.f64 re im) 8)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 re im)) 2))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (-.f64 re im)) 1/2))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (sqrt.f64 1/2))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (*.f64 (sqrt.f64 2) 1/2))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (*.f64 2 (/.f64 (sqrt.f64 2) 4)))
(*.f64 4 (*.f64 (sqrt.f64 (-.f64 re im)) (/.f64 (sqrt.f64 2) 4)))
(*.f64 4 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) 1/4)
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) 2)
(*.f64 -2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) -2))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (-.f64 re im))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 re im)) 2) (*.f64 2 (sqrt.f64 2)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (-.f64 re im)) 4))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 2)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (/.f64 (sqrt.f64 2) 4))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 1 (/.f64 (sqrt.f64 2) 4)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 1/8)
(*.f64 (sqrt.f64 1/2) (*.f64 2 (sqrt.f64 (-.f64 re im))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1/2) 2)
(*.f64 (*.f64 (sqrt.f64 2) 1/2) (*.f64 2 (sqrt.f64 (-.f64 re im))))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (*.f64 1/4 (/.f64 (sqrt.f64 (-.f64 re im)) 2)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (*.f64 1/4 (/.f64 (sqrt.f64 2) 2)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 4)))
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 re im)) 4) (*.f64 2 (*.f64 2 (sqrt.f64 2))))
(*.f64 (*.f64 (sqrt.f64 (-.f64 re im)) 1/2) (*.f64 2 (sqrt.f64 2)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)) (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))
(*.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 2)) (*.f64 2 (*.f64 2 (sqrt.f64 2))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) 1/2)
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (sqrt.f64 (-.f64 re im)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (sqrt.f64 (*.f64 (-.f64 re im) 8))) (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (+.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re))) (*.f64 (sqrt.f64 -1) (/.f64 (sqrt.f64 2) 2)))
(/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) 16)
(/.f64 (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 16)
(/.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))) 16)
(/.f64 (*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2))))) 16)
(/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))) 64)
(/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2))))) 64)
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))) 32)
(/.f64 (+.f64 (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) 32)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(sqrt.f64 (*.f64 im -2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) 1/16)))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (/.f64 1/16 (sqrt.f64 -1)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(sqrt.f64 (*.f64 2 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (pow.f64 im 2)))) (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 (*.f64 (sqrt.f64 2) (pow.f64 im 3)))))
(+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))))))) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(+.f64 0 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 3) 4))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(-.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) -2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 4))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 2 (*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (/.f64 (sqrt.f64 2) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 2 (*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) 1)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 2) (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 (sqrt.f64 2) 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 1/2 (sqrt.f64 (*.f64 (-.f64 re im) 8)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (-.f64 re im)) 2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (-.f64 re im)) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 2) (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im))))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 (sqrt.f64 2) 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 2 (sqrt.f64 1/2)))
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 1/2)))
(*.f64 2 (sqrt.f64 (*.f64 (-.f64 re im) 1/2)))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (*.f64 (sqrt.f64 2) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (*.f64 2 (/.f64 (sqrt.f64 2) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 4 (*.f64 (sqrt.f64 (-.f64 re im)) (/.f64 (sqrt.f64 2) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 4 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) 1/4)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 2) 2)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 -2 (/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) -2))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (-.f64 re im))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 re im)) 2) (*.f64 2 (sqrt.f64 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (-.f64 re im)) 4))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (/.f64 (sqrt.f64 2) 4))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 1 (/.f64 (sqrt.f64 2) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 1/8)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 1/2) (*.f64 2 (sqrt.f64 (-.f64 re im))))
(*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 2 (sqrt.f64 1/2)))
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 1/2)))
(*.f64 2 (sqrt.f64 (*.f64 (-.f64 re im) 1/2)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1/2) 2)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 (sqrt.f64 2) 1/2) (*.f64 2 (sqrt.f64 (-.f64 re im))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (*.f64 1/4 (/.f64 (sqrt.f64 (-.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (*.f64 1/4 (/.f64 (sqrt.f64 2) 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 4)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 re im)) 4) (*.f64 2 (*.f64 2 (sqrt.f64 2))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 (sqrt.f64 (-.f64 re im)) 1/2) (*.f64 2 (sqrt.f64 2)))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)) (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) 1)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (-.f64 re im)) 2)) (*.f64 2 (*.f64 2 (sqrt.f64 2))))
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) 1/2)
(*.f64 1/2 (sqrt.f64 (*.f64 (-.f64 re im) 8)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 (-.f64 re im)) (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) 1)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) 1)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) 1)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (*.f64 2 (-.f64 re im)) 2)))
(*.f64 (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2))))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (sqrt.f64 2) 1/2) (sqrt.f64 (*.f64 1/2 (*.f64 (-.f64 re im) 8))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (sqrt.f64 (*.f64 (-.f64 re im) 8))) (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) 4)))
(*.f64 (/.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (+.f64 (sqrt.f64 1/2) (sqrt.f64 1/2))))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) 8)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (sqrt.f64 2) 1/2) (sqrt.f64 (*.f64 1/2 (*.f64 (-.f64 re im) 8))))
(*.f64 (+.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re))) (*.f64 (sqrt.f64 -1) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (+.f64 (sqrt.f64 -1) (sqrt.f64 -1)) (*.f64 (/.f64 (sqrt.f64 2) 2) (sqrt.f64 (-.f64 im re))))
(*.f64 (sqrt.f64 (-.f64 im re)) (*.f64 (/.f64 (sqrt.f64 2) 2) (+.f64 (sqrt.f64 -1) (sqrt.f64 -1))))
(*.f64 (/.f64 (+.f64 (sqrt.f64 2) (sqrt.f64 2)) 2) (sqrt.f64 (*.f64 -1 (-.f64 im re))))
(*.f64 (/.f64 (+.f64 (sqrt.f64 2) (sqrt.f64 2)) 2) (sqrt.f64 (neg.f64 (-.f64 im re))))
(/.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 2)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4) 4)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 8)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) 16)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) 16)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))) 16)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 (*.f64 2 (sqrt.f64 (-.f64 re im))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2))))) 16)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))))) 64)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 (-.f64 re im))))) (+.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 2))))) 64)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)))) 32)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(/.f64 (+.f64 (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4)) (*.f64 4 (*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 4))) 32)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (-.f64 re im)))

localize63.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize57.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite418.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2020×rational_best-4
2020×rational_best-2
2020×rational_best-3
2020×rational_best-1
576×rational_best-simplify-83
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
16117
212117
328317
490017
5521917
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (+.f64 re im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2)) (-.f64 0 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (+.f64 re im)) (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (+.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (+.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (+.f64 re im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 1 (/.f64 (sqrt.f64 (+.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (/.f64 (sqrt.f64 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (*.f64 (sqrt.f64 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (*.f64 1 (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 re im)) 2) (*.f64 2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (/.f64 (sqrt.f64 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (+.f64 re im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (sqrt.f64 (+.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 2 (sqrt.f64 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re im) 8)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))))

simplify441.0ms (1%)

Algorithm
egg-herbie
Rules
1334×rational_best-simplify-51
1284×rational_best-simplify-1
1044×rational_best-simplify-57
908×rational_best-simplify-83
678×rational_best-simplify-75
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01591473
13821473
210011401
331891401
Stop Event
node limit
Counts
55 → 87
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 2) 2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 4))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(-.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2)) (-.f64 0 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 4))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(*.f64 2 (*.f64 (sqrt.f64 (+.f64 re im)) (/.f64 (sqrt.f64 2) 2)))
(*.f64 2 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (+.f64 re im)) 2)))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re im)))
(*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) 2)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (+.f64 re im)) 2))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (+.f64 re im)) 1/2))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 1 (/.f64 (sqrt.f64 (+.f64 re im)) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (/.f64 (sqrt.f64 2) 2))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (sqrt.f64 1/2))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (*.f64 (sqrt.f64 2) 1/2))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (*.f64 1 (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (+.f64 re im))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re im)) 2) (*.f64 2 (sqrt.f64 2)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (/.f64 (sqrt.f64 2) 4))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (+.f64 re im)) 4))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (sqrt.f64 (+.f64 re im)) 2)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) 1/8)
(*.f64 (sqrt.f64 1/2) (*.f64 2 (sqrt.f64 (+.f64 re im))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re im) 8)) 1/2)
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))) 16)
(/.f64 (*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im))))) 16)
(/.f64 (*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) 16)
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 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 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) -1/8))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) -1/8)) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 1/2 (*.f64 (sqrt.f64 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 (+.f64 (sqrt.f64 (*.f64 2 im)) (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im)))))) (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 (*.f64 2 im)) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 5)))))) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (*.f64 2 (/.f64 1 im))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(sqrt.f64 (*.f64 2 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) -1/8))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) 1/16)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) -1/8))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3)))))))) (*.f64 1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 2) 2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) -2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 2)) (-.f64 0 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) -2) 2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 2 (*.f64 (sqrt.f64 (+.f64 re im)) (/.f64 (sqrt.f64 2) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 2 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (+.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re im)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 2) 2)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 im re)))) (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) 2)))
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) (*.f64 2 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) 2))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (*.f64 2 (+.f64 im re)) 1/2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 1/2 (*.f64 2 (+.f64 im re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (+.f64 re im)) 2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 (sqrt.f64 (+.f64 re im)) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 1 (/.f64 (sqrt.f64 (+.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (/.f64 (sqrt.f64 2) 2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 (+.f64 im re)) (*.f64 2 (sqrt.f64 1/2)))
(*.f64 2 (*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 1/2)))
(*.f64 2 (sqrt.f64 (*.f64 (+.f64 im re) 1/2)))
(*.f64 2 (sqrt.f64 (*.f64 1/2 (+.f64 im re))))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (*.f64 (sqrt.f64 2) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (sqrt.f64 (+.f64 re im))) (*.f64 1 (/.f64 (sqrt.f64 2) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 1/4 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 2 (sqrt.f64 (+.f64 re im))))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 re im)) 2) (*.f64 2 (sqrt.f64 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (/.f64 (sqrt.f64 2) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (*.f64 1/2 (/.f64 (sqrt.f64 2) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (/.f64 (sqrt.f64 (+.f64 re im)) 4))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (sqrt.f64 (+.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) 1/8)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(*.f64 (sqrt.f64 1/2) (*.f64 2 (sqrt.f64 (+.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 im re)) (*.f64 2 (sqrt.f64 1/2)))
(*.f64 2 (*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 1/2)))
(*.f64 2 (sqrt.f64 (*.f64 (+.f64 im re) 1/2)))
(*.f64 2 (sqrt.f64 (*.f64 1/2 (+.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re im) 8)) 1/2)
(*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 8)))
(/.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) 2)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4) 4)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) 8)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 4))) 16)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im))))) 16)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 2 (sqrt.f64 (+.f64 re im)))) (*.f64 2 (*.f64 2 (sqrt.f64 2)))) 16)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)
(sqrt.f64 (*.f64 2 (+.f64 im re)))

localize124.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 40 computations (24.5% saved)

series29.0ms (0.1%)

Counts
4 → 48
Calls

24 calls:

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

rewrite1.0s (2.4%)

Algorithm
batch-egg-rewrite
Rules
1036×rational_best-simplify-63
950×rational_best-simplify-51
938×rational_best-4
938×rational_best-2
938×rational_best-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01484
110078
222478
362678
4246678
Stop Event
node limit
Counts
4 → 209
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.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) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (neg.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (-.f64 0 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (neg.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1/2) (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 im) 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) (+.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 (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 (sqrt.f64 -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/4 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 1/2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 -1/2)) (+.f64 (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 -1/2 re))) (*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 -1)) (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 -1/2)) (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 (sqrt.f64 -1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (pow.f64 (sqrt.f64 im) 2)) (*.f64 (sqrt.f64 (/.f64 -1/2 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (/.f64 -1/2 re))) (*.f64 (pow.f64 (sqrt.f64 im) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) (+.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (/.f64 -1/4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re))) (pow.f64 (sqrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) (sqrt.f64 (/.f64 -1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) 2) (*.f64 2 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) 2) (*.f64 2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 -1) 2) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) (sqrt.f64 (/.f64 -1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1 re)) (pow.f64 (sqrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 3/2) (*.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 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1) (neg.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 2)) (neg.f64 (/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (pow.f64 im 2) re) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (*.f64 (/.f64 (pow.f64 im 2) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (*.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))))) (#(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 (pow.f64 im 2) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 (pow.f64 im 2) (*.f64 re re)))))) (#(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) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) (*.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 (/.f64 1 re) (/.f64 1/2 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 2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 1/2 re) (/.f64 1/2 (+.f64 re 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 re (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (-.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 re) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 re re)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (+.f64 re re)) (-.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -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) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/2 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 1/2 (+.f64 re re)) (/.f64 1/2 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) (/.f64 1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)) (/.f64 1 (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 re 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 2 re)) (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) re) (/.f64 (/.f64 1 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 1/2 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re))) (/.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 (pow.f64 im 2) 4)) (/.f64 (/.f64 1/2 (+.f64 re re)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) re) (*.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 re) re) (*.f64 re (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/2 (+.f64 re re)) re) (*.f64 re (*.f64 (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 +.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 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 (/.f64 (pow.f64 im 2) re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 0 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (+.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re))) (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) re)))) (#(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 2 (/.f64 (pow.f64 im 2) re)) -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 (*.f64 re -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 2 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)) (neg.f64 (/.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 2 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re re))) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2))) (/.f64 2 re))))) (#(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 (*.f64 (pow.f64 im 2) 4) 4) (*.f64 (*.f64 re -4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) -2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) re) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 2) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 re 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 2 re))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 re (/.f64 (pow.f64 im 2) re))) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re)))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 re) (pow.f64 im 2)) (*.f64 (neg.f64 re) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) -2)) (*.f64 (+.f64 re re) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re 4) (*.f64 (pow.f64 im 2) -4)) (*.f64 (*.f64 re 4) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 re) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)))) (*.f64 (/.f64 1 re) (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (pow.f64 im 2) -4)) (*.f64 (*.f64 re 4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)))))

simplify2.2s (5.2%)

Algorithm
egg-herbie
Rules
1342×rational_best-simplify-54
716×rational_best-simplify-48
692×rational_best-simplify-52
666×rational_best-simplify-47
652×rational_best-simplify-50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04105323
110705285
240595223
Stop Event
node limit
Counts
257 → 245
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (neg.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(+.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2))
(-.f64 0 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (-.f64 0 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (neg.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 2))
(*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 (sqrt.f64 -1/2) (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) (sqrt.f64 -1))
(*.f64 (pow.f64 (sqrt.f64 im) 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 -1 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))
(*.f64 (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 2 (sqrt.f64 2)))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 (sqrt.f64 -1) 2))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/2 (sqrt.f64 2)))
(*.f64 -2 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) 2))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 -1)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)
(*.f64 (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 -1/2))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)) 4)
(*.f64 (*.f64 1/2 (*.f64 1/2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))
(*.f64 (*.f64 1/2 (sqrt.f64 -1/2)) (+.f64 (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 -1/2 re))) (*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) 2))
(*.f64 (*.f64 1/2 (sqrt.f64 -1)) (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 -1/2)) (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 (sqrt.f64 -1/2) 2))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (pow.f64 (sqrt.f64 im) 2)) (*.f64 (sqrt.f64 (/.f64 -1/2 re)) 2))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (/.f64 -1/2 re))) (*.f64 (pow.f64 (sqrt.f64 im) 2) 2))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) (+.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re))) (pow.f64 (sqrt.f64 im) 2))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(*.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) 2) (*.f64 2 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) 2) (*.f64 2 (sqrt.f64 2)))
(*.f64 (*.f64 (sqrt.f64 -1) 2) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)) (sqrt.f64 1/2))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(+.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 3/2) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(+.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1) (neg.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re)))) -1)
(+.f64 (-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4))))
(+.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 2)) (neg.f64 (/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 2)))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(-.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 0))
(-.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (pow.f64 im 2) re) -3/2))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) re))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))
(-.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) re) 1)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) -1)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 (/.f64 1 re) (/.f64 1/2 re)))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (+.f64 re re)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 1/2 re) (/.f64 1/2 (+.f64 re re))))
(*.f64 (/.f64 1 re) (pow.f64 im 2))
(*.f64 (/.f64 1 re) (*.f64 re (/.f64 (pow.f64 im 2) re)))
(*.f64 (/.f64 1 re) (-.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 1/2 re) (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(*.f64 (/.f64 1/2 re) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 1/2 (+.f64 re re)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 1/2 (+.f64 re re)) (-.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (pow.f64 im 2) 4)))
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(*.f64 -2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/4)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/2 (*.f64 re 4)))
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 1/2 (+.f64 re re)) (/.f64 1/2 (*.f64 re 4))))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) (/.f64 1 (/.f64 1 re)))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)) (/.f64 1 (/.f64 2 re)))
(*.f64 (/.f64 1/2 (*.f64 re 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) (*.f64 re re)))
(*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)))
(*.f64 (*.f64 (pow.f64 im 2) re) (/.f64 (/.f64 1 re) re))
(*.f64 (*.f64 re (*.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 1/2 re) re))
(*.f64 (*.f64 re (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))
(*.f64 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re))) (/.f64 1/2 re))
(*.f64 (*.f64 re (*.f64 (pow.f64 im 2) 4)) (/.f64 (/.f64 1/2 (+.f64 re re)) re))
(*.f64 (/.f64 (/.f64 1 re) re) (*.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (/.f64 1/2 re) re) (*.f64 re (*.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (/.f64 1/2 (+.f64 re re)) re) (*.f64 re (*.f64 (pow.f64 im 2) 4)))
(pow.f64 (/.f64 (pow.f64 im 2) re) 1)
(neg.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(+.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))
(+.f64 (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4))))
(+.f64 (-.f64 0 (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4))))
(-.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 (/.f64 (pow.f64 im 2) re) 3/2))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 0 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (+.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (+.f64 re re))))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(-.f64 (+.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re))) (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re)))) -2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -1)
(/.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (neg.f64 (pow.f64 im 2)) re)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -2)
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re -4))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (*.f64 re -2) 2))
(/.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 2 (*.f64 re 4))))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 1/4)
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) (/.f64 -1 re))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)) (neg.f64 (/.f64 2 re)))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 4)
(/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 2 (*.f64 re 4)))
(/.f64 (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re re))) (/.f64 1 re))
(/.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2))) (/.f64 2 re))
(/.f64 (*.f64 (pow.f64 im 2) -4) (*.f64 re 4))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) 4) (*.f64 (*.f64 re -4) 4))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 8) 8)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 re 4))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) -2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) re) 4)
(/.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 2) (*.f64 re 4))
(/.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 re 4)) 2)
(/.f64 (-.f64 0 (/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 2 re))) re)
(/.f64 (-.f64 0 (*.f64 re (/.f64 (pow.f64 im 2) re))) re)
(/.f64 (-.f64 0 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re)))) (+.f64 re re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))
(/.f64 (*.f64 (neg.f64 re) (pow.f64 im 2)) (*.f64 (neg.f64 re) (neg.f64 re)))
(/.f64 (*.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 re re))
(/.f64 (*.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) -2)) (*.f64 (+.f64 re re) (+.f64 re re)))
(/.f64 (*.f64 (*.f64 re 4) (*.f64 (pow.f64 im 2) -4)) (*.f64 (*.f64 re 4) (*.f64 re 4)))
(/.f64 (*.f64 (/.f64 1 re) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)))) (*.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 (*.f64 4 (*.f64 (pow.f64 im 2) -4)) (*.f64 (*.f64 re 4) 4))
(/.f64 (*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(/.f64 (*.f64 4 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 16)
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)) 2))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 4))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 8)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (neg.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 0 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (-.f64 0 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (neg.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 -1/2) (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) (sqrt.f64 -1))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 im) 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 -1) (+.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) (neg.f64 re)))
(*.f64 (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 2 (sqrt.f64 2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 (sqrt.f64 -1) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/2 (sqrt.f64 2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -2 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 2)) (/.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 1/2 (sqrt.f64 -1)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 -1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (*.f64 1/2 (sqrt.f64 2))) (*.f64 2 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (sqrt.f64 -1/2)) (+.f64 (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 -1/2 re))) (*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 1/2 (sqrt.f64 -1)) (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 -1/2)) (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (/.f64 (pow.f64 im 2) re))) (*.f64 (sqrt.f64 -1/2) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (pow.f64 (sqrt.f64 im) 2)) (*.f64 (sqrt.f64 (/.f64 -1/2 re)) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (/.f64 -1/2 re))) (*.f64 (pow.f64 (sqrt.f64 im) 2) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) (+.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (/.f64 -1/4 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re))) (pow.f64 (sqrt.f64 im) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) (sqrt.f64 (/.f64 -1/4 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) 2) (*.f64 2 (*.f64 2 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) 2) (*.f64 2 (sqrt.f64 2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 -1) 2) (*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) (sqrt.f64 (/.f64 -1/4 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (pow.f64 (sqrt.f64 im) 2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2)) (sqrt.f64 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(+.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 3/2) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4))
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (*.f64 re 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4))
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4))
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4))
(+.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))
(/.f64 (pow.f64 im 2) re)
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -1) (neg.f64 (+.f64 1 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(/.f64 (pow.f64 im 2) re)
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(/.f64 (pow.f64 im 2) re)
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re)))) -1)
(/.f64 (pow.f64 im 2) re)
(+.f64 (-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4)))
(-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4)))
(+.f64 (*.f64 7 (/.f64 (pow.f64 im 2) (*.f64 re 4))) (*.f64 -3 (/.f64 (pow.f64 im 2) (*.f64 re 4))))
(+.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 2)) (neg.f64 (/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 2)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4))
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4))
(-.f64 (/.f64 (pow.f64 im 2) re) 0)
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 (pow.f64 im 2) re) 0))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) re) (+.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 (/.f64 (pow.f64 im 2) re) -3/2))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (*.f64 (/.f64 (pow.f64 im 2) re) -2))
(/.f64 (pow.f64 im 2) re)
(-.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 2 re)) (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4)))
(-.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4)))
(+.f64 (*.f64 7 (/.f64 (pow.f64 im 2) (*.f64 re 4))) (*.f64 -3 (/.f64 (pow.f64 im 2) (*.f64 re 4))))
(-.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(/.f64 (pow.f64 im 2) re)
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4))
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4))
(-.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re re)))
(/.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) (neg.f64 re)) -1)
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 1/2 (-.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 1 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (pow.f64 im 2)) (-.f64 (/.f64 1 re) (/.f64 1/2 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1/2 (+.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 1/2 re) (/.f64 1/2 (+.f64 re 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 re (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 re) (-.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))
(*.f64 1 (/.f64 (-.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re))
(*.f64 (/.f64 1/2 re) (*.f64 2 (pow.f64 im 2)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 re) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 (+.f64 re re)) (*.f64 (pow.f64 im 2) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1/2 (+.f64 re re)) (-.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (pow.f64 im 2) 4)))
(*.f64 (/.f64 1/2 (+.f64 re re)) (-.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (pow.f64 im 2) 4)))
(*.f64 (/.f64 1/4 re) (-.f64 (*.f64 (pow.f64 im 2) 8) (*.f64 (pow.f64 im 2) 4)))
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) re) 4))
(/.f64 (pow.f64 im 2) re)
(*.f64 -2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) 1/4)
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/2 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 1/2 (+.f64 re re)) (/.f64 1/2 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) (/.f64 1 (/.f64 1 re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)) (/.f64 1 (/.f64 2 re)))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 1 (/.f64 2 re)) (/.f64 re 2)))
(*.f64 1 (-.f64 (/.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) 2) (/.f64 0 re)))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) 2) 0)
(*.f64 (/.f64 1/2 (*.f64 re 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) (*.f64 re re)))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 1 (/.f64 2 re)) (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)))
(*.f64 (/.f64 (pow.f64 im 2) re) (/.f64 (/.f64 1 (/.f64 2 re)) (/.f64 re 2)))
(*.f64 1 (-.f64 (/.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) 2) (/.f64 0 re)))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) 2) 0)
(*.f64 (*.f64 (pow.f64 im 2) re) (/.f64 (/.f64 1 re) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 re (*.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 1/2 re) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 re (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re))) (/.f64 1/2 re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (*.f64 re (*.f64 (pow.f64 im 2) 4)) (/.f64 (/.f64 1/2 (+.f64 re re)) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (/.f64 1 re) re) (*.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (/.f64 1/2 re) re) (*.f64 re (*.f64 2 (pow.f64 im 2))))
(/.f64 (pow.f64 im 2) re)
(*.f64 (/.f64 (/.f64 1/2 (+.f64 re re)) re) (*.f64 re (*.f64 (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)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 0 (/.f64 (pow.f64 im 2) (*.f64 re 4))) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4))))
(-.f64 0 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4)))
(neg.f64 (/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4)))
(-.f64 (/.f64 (pow.f64 im 2) re) (*.f64 2 (/.f64 (pow.f64 im 2) re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 (/.f64 (pow.f64 im 2) re) 3/2))
(-.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) (*.f64 (pow.f64 im 2) (/.f64 3/2 re)))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re 4)))
(-.f64 0 (/.f64 (+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2)) (*.f64 re 4)))
(neg.f64 (/.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3)) (*.f64 re 4)))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (-.f64 0 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) (+.f64 (/.f64 (pow.f64 im 2) (*.f64 re 4)) (/.f64 (pow.f64 im 2) (+.f64 re re))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)) (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (+.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re))) (-.f64 -1 (/.f64 (pow.f64 im 2) (+.f64 re re)))) -2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) re) -1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) 1/2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 re -2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (pow.f64 im 2)) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) -2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 re -4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (*.f64 re -2) 2))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) -2) (+.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -4) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4) -4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 2 (*.f64 re 4))))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 4) 1/4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)) (/.f64 -1 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2)) (neg.f64 (/.f64 2 re)))
(/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re 2) (neg.f64 (/.f64 2 re))))
(/.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) (*.f64 re (/.f64 -2 re)))
(/.f64 (*.f64 1/2 (*.f64 (neg.f64 (pow.f64 im 2)) 1)) (/.f64 re 2))
(/.f64 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4)) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 2 (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re re))) (/.f64 1 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (neg.f64 (/.f64 (/.f64 (pow.f64 im 2) re) (/.f64 re 2))) (/.f64 2 re))
(/.f64 (/.f64 (pow.f64 im 2) re) (*.f64 (/.f64 re 2) (neg.f64 (/.f64 2 re))))
(/.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) (*.f64 re (/.f64 -2 re)))
(/.f64 (*.f64 1/2 (*.f64 (neg.f64 (pow.f64 im 2)) 1)) (/.f64 re 2))
(/.f64 (*.f64 (pow.f64 im 2) -4) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) 4) (*.f64 (*.f64 re -4) 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 8) 8)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) 1/2) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -2) -2) (neg.f64 re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) re) 4)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 2) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (/.f64 (neg.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 re 4)) 2)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (-.f64 0 (/.f64 (*.f64 2 (/.f64 (pow.f64 im 2) re)) (/.f64 2 re))) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (-.f64 0 (*.f64 re (/.f64 (pow.f64 im 2) re))) re)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (-.f64 0 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re)))) (+.f64 re re))
(/.f64 (neg.f64 (*.f64 re (*.f64 (pow.f64 im 2) (/.f64 2 re)))) (+.f64 re re))
(/.f64 (neg.f64 (*.f64 re (*.f64 2 (/.f64 (pow.f64 im 2) re)))) (+.f64 re re))
(/.f64 (/.f64 (pow.f64 im 2) -1/2) (+.f64 re re))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) -2)) (*.f64 re 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 re) (pow.f64 im 2)) (*.f64 (neg.f64 re) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 re (neg.f64 (pow.f64 im 2))) (*.f64 re re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (+.f64 re re) (*.f64 (pow.f64 im 2) -2)) (*.f64 (+.f64 re re) (+.f64 re re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (*.f64 re 4) (*.f64 (pow.f64 im 2) -4)) (*.f64 (*.f64 re 4) (*.f64 re 4)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 (/.f64 1 re) (neg.f64 (/.f64 (pow.f64 im 2) (*.f64 re re)))) (*.f64 (/.f64 1 re) (/.f64 1 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (*.f64 (pow.f64 im 2) -4)) (*.f64 (*.f64 re 4) 4))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -16) 16)
(/.f64 (*.f64 4 (neg.f64 (*.f64 (/.f64 (pow.f64 im 2) re) 4))) 16)
(/.f64 (*.f64 4 (*.f64 (/.f64 (pow.f64 im 2) re) -4)) 16)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -16) 16)
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(/.f64 (pow.f64 im 2) (neg.f64 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)) 2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 4)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 8)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))

localize43.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 29 to 23 computations (20.7% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite591.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
2098×rational_best-1
952×rational_best-simplify-48
662×rational_best-simplify-47
626×rational_best-simplify-51
618×rational_best-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061
1411
2741
31371
43591
513081
672081
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 2) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 2)))))

simplify86.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval726.0ms (1.7%)

Compiler

Compiled 8600 to 6794 computations (21% saved)

prune425.0ms (1%)

Pruning

15 alts after pruning (10 fresh and 5 done)

PrunedKeptTotal
New4538461
Fresh123
Picked011
Done145
Total45515470
Error
1.8b
Counts
470 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
54.2b
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
55.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 im) 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 -1/2 re)))))
55.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 -1 re))))
46.9b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
55.0b
(*.f64 1/2 (*.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (pow.f64 (sqrt.f64 im) 2)) (*.f64 (sqrt.f64 (/.f64 -1/2 re)) 2)))
52.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (*.f64 (pow.f64 im 2) 4))))
52.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))
43.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
46.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
42.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
59.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Compiler

Compiled 312 to 265 computations (15.1% saved)

localize50.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 31 to 16 computations (48.4% saved)

series6.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite675.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
684×rational_best-simplify-83
646×rational_best-simplify-1
574×rational_best-simplify-47
508×rational_best-simplify-57
494×rational_best-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01017
16517
212417
330817
4111517
5688917
Stop Event
node limit
Counts
1 → 27
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 im re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (/.f64 (*.f64 -3 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2) (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2)) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 im re) -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4) (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4))) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 re im)) 4) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 2) 4) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 im re) -2))))))

simplify363.0ms (0.9%)

Algorithm
egg-herbie
Rules
1120×rational_best-simplify-51
942×rational_best-simplify-47
940×rational_best-simplify-63
836×rational_best-simplify-1
726×rational_best-simplify-57
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01441451
13481303
28511207
323671207
Stop Event
node limit
Counts
35 → 66
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 0)
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 im re) -2)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (/.f64 (*.f64 -3 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2)) 2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 3) 4))
(-.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 0)
(-.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2) (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2)) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2))) 4))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 im re) -2))) 2)
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4) 16)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4) (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)) 32)
(/.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)) 64)
(/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4))) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 256)
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 256)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 re im)) 4) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) 4) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 64)
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 16)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 16)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(sqrt.f64 (*.f64 -2 im))
(sqrt.f64 (*.f64 im -2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 (*.f64 -2 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 (*.f64 -2 im)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (/.f64 -1/8 (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 (*.f64 -2 im)) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 -1)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (/.f64 1/16 (sqrt.f64 -1))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 (*.f64 im -2)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (/.f64 -1/8 (sqrt.f64 -1)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 -1)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(sqrt.f64 (*.f64 2 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 re))) (*.f64 im -1/2)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) -1/2))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 re))) (*.f64 im -1/2))) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 im 2) -1/8)))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 2) im) -1/2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) -1/16))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)) (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (sqrt.f64 (*.f64 2 re)) (+.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 im 2) -1/8)) (+.f64 (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 re))) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5)))) (*.f64 (pow.f64 im 3) -1/16)))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 2 re)) (*.f64 -1/2 (*.f64 im (sqrt.f64 (*.f64 2 (/.f64 1 re)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 im 2) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (*.f64 2 (/.f64 1 (pow.f64 re 5))))))))
(+.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 0)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 im re) -2)))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2)))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (/.f64 (*.f64 -3 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2)) 2))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 3) 4))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(-.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 0)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(-.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2) (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1/2)) (neg.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2)) 2) (/.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) -2) 2))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2))) 4))
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (*.f64 2 (sqrt.f64 (*.f64 (-.f64 im re) -2))) 2)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4) 16)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)) 8)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4))) 16)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4) (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)) 32)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (*.f64 4 (*.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 4) 4)) 64)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4))) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 256)
(/.f64 (*.f64 (*.f64 (*.f64 4 (sqrt.f64 (-.f64 re im))) 4) (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 2))))) 256)
(/.f64 (*.f64 8 (*.f64 (*.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 re im)) 8))) 256)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 (sqrt.f64 2) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))) 16)
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 256)
(/.f64 (*.f64 (*.f64 (*.f64 4 (sqrt.f64 (-.f64 re im))) 4) (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 2))))) 256)
(/.f64 (*.f64 8 (*.f64 (*.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 re im)) 8))) 256)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 (sqrt.f64 2) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))) 16)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 re im)) 4) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 64)
(/.f64 (*.f64 (*.f64 (*.f64 4 (sqrt.f64 (-.f64 re im))) 4) (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 2))))) 256)
(/.f64 (*.f64 8 (*.f64 (*.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 re im)) 8))) 256)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 (sqrt.f64 2) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))) 16)
(/.f64 (*.f64 (*.f64 (sqrt.f64 2) 4) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 64)
(/.f64 (*.f64 (*.f64 (*.f64 4 (sqrt.f64 (-.f64 re im))) 4) (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 2))))) 256)
(/.f64 (*.f64 8 (*.f64 (*.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 re im)) 8))) 256)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 (sqrt.f64 2) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))) 16)
(/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 re im)) 4)))) 16)
(/.f64 (*.f64 (*.f64 (*.f64 4 (sqrt.f64 (-.f64 re im))) 4) (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 2))))) 256)
(/.f64 (*.f64 8 (*.f64 (*.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 re im)) 8))) 256)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 (sqrt.f64 2) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))) 16)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (+.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) 4) (*.f64 (*.f64 2 (sqrt.f64 2)) 4))) 16)
(/.f64 (*.f64 (*.f64 (*.f64 4 (sqrt.f64 (-.f64 re im))) 4) (*.f64 4 (+.f64 (*.f64 2 (sqrt.f64 2)) (*.f64 2 (sqrt.f64 2))))) 256)
(/.f64 (*.f64 8 (*.f64 (*.f64 (sqrt.f64 2) 4) (*.f64 (sqrt.f64 (-.f64 re im)) 8))) 256)
(/.f64 (*.f64 (sqrt.f64 (-.f64 re im)) (*.f64 (sqrt.f64 2) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))) 16)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) -2)) 1)
(sqrt.f64 (*.f64 (-.f64 im re) -2))
(sqrt.f64 (*.f64 (-.f64 im re) -2))

localize52.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize52.0ms (0.1%)

Compiler

Compiled 33 to 16 computations (51.5% saved)

localize79.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 40 to 27 computations (32.5% saved)

series13.0ms (0%)

Counts
3 → 12
Calls

12 calls:

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

rewrite428.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2040×rational_best-2
2040×rational_best-3
2040×rational_best-1
484×rational_best-simplify-63
458×rational_best-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01249
18145
216145
338545
4127743
5576443
Stop Event
node limit
Counts
3 → 88
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (/.f64 -1 re))
(*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 -1 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (sqrt.f64 im) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (sqrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (sqrt.f64 im) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) (/.f64 (pow.f64 (sqrt.f64 im) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2)) (-.f64 0 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) 2) (/.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 4) (/.f64 (neg.f64 (pow.f64 (sqrt.f64 im) 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sqrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sqrt.f64 im) 4) 2) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (+.f64 im im)) 2) (pow.f64 (sqrt.f64 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (sqrt.f64 im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 im 2))))))
((#(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 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 -1 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (/.f64 (sqrt.f64 (/.f64 -1 re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (-.f64 0 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 -1 re))) 4))))) (#(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 (sqrt.f64 (/.f64 -1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 -1 re))))))) (#(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) 1/4)))) (#(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 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -2 re)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (sqrt.f64 (/.f64 1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/4 re)) (sqrt.f64 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -4 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1/2 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 -1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 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 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -1 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2)) (-.f64 0 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4) (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)) (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))))))

simplify517.0ms (1.2%)

Algorithm
egg-herbie
Rules
1152×rational_best-simplify-56
1020×rational_best-simplify-108
940×rational_best-simplify-1
898×rational_best-simplify-3
530×rational_best-simplify-80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02041620
14731528
211921468
347671468
Stop Event
node limit
Counts
100 → 105
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (pow.f64 (sqrt.f64 im) 2) 0)
(+.f64 0 (pow.f64 (sqrt.f64 im) 2))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 4))
(-.f64 (pow.f64 (sqrt.f64 im) 2) 0)
(-.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) (/.f64 (pow.f64 (sqrt.f64 im) 2) -2))
(-.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2)) (-.f64 0 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) 2) (/.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) -2) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 4) (/.f64 (neg.f64 (pow.f64 (sqrt.f64 im) 2)) 4))
(*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2))
(*.f64 (pow.f64 (sqrt.f64 im) 2) 1)
(*.f64 1 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)) 1/2)
(*.f64 1/2 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) 2)
(*.f64 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2) 1/4)
(*.f64 1/4 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))
(*.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) 1/8)
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) 1/2)
(*.f64 (pow.f64 (*.f64 (sqrt.f64 im) 4) 2) 1/16)
(*.f64 (pow.f64 (sqrt.f64 (+.f64 im im)) 2) (pow.f64 (sqrt.f64 1/2) 2))
(/.f64 (pow.f64 (sqrt.f64 im) 2) 1)
(/.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)) 2)
(/.f64 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2) 4)
(/.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) 8)
(/.f64 (+.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))) 16)
(sqrt.f64 (pow.f64 im 2))
(+.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 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 2) 2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 4))
(-.f64 (sqrt.f64 (/.f64 -1 re)) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (/.f64 (sqrt.f64 (/.f64 -1 re)) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (-.f64 0 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 -1 re))) 4))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 1/2)
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) 2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 1/4)
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 1/8)
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -1))
(*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1/2 re)))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 -2))
(*.f64 (sqrt.f64 (/.f64 -2 re)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 -2 re)))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (/.f64 1/4 re)))
(*.f64 (sqrt.f64 (/.f64 1/4 re)) (sqrt.f64 -4))
(*.f64 (sqrt.f64 (/.f64 -4 re)) 1/2)
(*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1/2 (*.f64 re 4))))
(/.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)
(pow.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(+.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(+.f64 0 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2)))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 2) 2))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4))
(-.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(-.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2)) (-.f64 0 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4))
(/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) 4)
(/.f64 (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)) 16)
(/.f64 (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4) 8)
(/.f64 (+.f64 (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4) (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4)) 16)
(/.f64 (+.f64 (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)) (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))) 64)
(/.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(pow.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 3) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (pow.f64 (sqrt.f64 im) 2) 0)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(+.f64 0 (pow.f64 (sqrt.f64 im) 2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2)))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) 2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 4))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(-.f64 (pow.f64 (sqrt.f64 im) 2) 0)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) (/.f64 (pow.f64 (sqrt.f64 im) 2) -2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(-.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2)) (-.f64 0 (/.f64 (pow.f64 (sqrt.f64 im) 2) 4)))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) 2) (/.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) -2) 2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 4) (/.f64 (neg.f64 (pow.f64 (sqrt.f64 im) 2)) 4))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (pow.f64 (sqrt.f64 im) 2) 1)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 1 (pow.f64 (sqrt.f64 im) 2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)) 1/2)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 1/2 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 1/2) 2)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2) 1/4)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 1/4 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) 1/8)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 1/2))
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) 1/2)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 im) 4) 2) 1/16)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 im im)) 2) (pow.f64 (sqrt.f64 1/2) 2))
(*.f64 1/2 (pow.f64 (sqrt.f64 (+.f64 im im)) 2))
(/.f64 (pow.f64 (sqrt.f64 im) 2) 1)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2)) 2)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(/.f64 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2) 4)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) 8)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(/.f64 (+.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))) 16)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (pow.f64 im 2))
(sqrt.f64 (pow.f64 im 2))
(pow.f64 (sqrt.f64 im) 2)
(+.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 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(sqrt.f64 (/.f64 -1 re))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 2) 2))
(sqrt.f64 (/.f64 -1 re))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 4))
(sqrt.f64 (/.f64 -1 re))
(-.f64 (sqrt.f64 (/.f64 -1 re)) 0)
(sqrt.f64 (/.f64 -1 re))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (/.f64 (sqrt.f64 (/.f64 -1 re)) -2))
(sqrt.f64 (/.f64 -1 re))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (-.f64 0 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4)))
(sqrt.f64 (/.f64 -1 re))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) -2) 2))
(sqrt.f64 (/.f64 -1 re))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 -1 re))) 4))
(sqrt.f64 (/.f64 -1 re))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(sqrt.f64 (/.f64 -1 re))
(*.f64 1 (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 1/2)
(sqrt.f64 (/.f64 -1 re))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 -1 re))))
(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) 1/4)
(sqrt.f64 (/.f64 -1 re))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 1/8)
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -1))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 -2) (sqrt.f64 (/.f64 1/2 re)))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 -2))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 -2 re)) (sqrt.f64 1/2))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 -2 re)))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (/.f64 1/4 re)))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 1/4 re)) (sqrt.f64 -4))
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 (/.f64 -4 re)) 1/2)
(sqrt.f64 (/.f64 -1 re))
(*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1/2 (*.f64 re 4))))
(sqrt.f64 (/.f64 -1 re))
(/.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 2)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 4)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 8)
(sqrt.f64 (/.f64 -1 re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)
(sqrt.f64 (/.f64 -1 re))
(pow.f64 (sqrt.f64 (/.f64 -1 re)) 1)
(sqrt.f64 (/.f64 -1 re))
(+.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2)))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 2) 2))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) -2))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 2)) (-.f64 0 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 2) 2) (/.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) -2) 2))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 2)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) 4)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)) 16)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4) 8)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4) (*.f64 (*.f64 2 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4)) 16)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)) (*.f64 4 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4))) 32)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2))) 64)
(/.f64 (*.f64 (*.f64 4 (sqrt.f64 (/.f64 -1 re))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 4)))) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 4 (*.f64 4 (sqrt.f64 (/.f64 -1 re))))) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 im 2)) 16) (*.f64 (sqrt.f64 (/.f64 -1 re)) 16)) 256)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 (pow.f64 im 2)) (*.f64 4 (sqrt.f64 (/.f64 -1 re))))) 64)
(/.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 (sqrt.f64 im) 2) 2)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(/.f64 (*.f64 (*.f64 4 (sqrt.f64 (/.f64 -1 re))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 4)))) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 4) (*.f64 4 (*.f64 4 (sqrt.f64 (/.f64 -1 re))))) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 im 2)) 16) (*.f64 (sqrt.f64 (/.f64 -1 re)) 16)) 256)
(/.f64 (*.f64 16 (*.f64 (sqrt.f64 (pow.f64 im 2)) (*.f64 4 (sqrt.f64 (/.f64 -1 re))))) 64)
(pow.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))

localize104.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 im 2) 4)
0.0b
(sqrt.f64 (/.f64 -1/4 re))
0.1b
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))
33.2b
(sqrt.f64 (*.f64 (pow.f64 im 2) 4))
Compiler

Compiled 53 to 42 computations (20.8% saved)

series9.0ms (0%)

Counts
4 → 36
Calls

15 calls:

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

rewrite624.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
810×rational_best-simplify-63
614×rational_best-2
614×rational_best-3
614×rational_best-1
612×rational_best-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01470
19770
219370
349464
4183962
5744462
Stop Event
node limit
Counts
4 → 114
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (pow.f64 im 2) 4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (pow.f64 im 2) 4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (pow.f64 (+.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (pow.f64 (sqrt.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 6) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (sqrt.f64 im) 2) (neg.f64 (pow.f64 (sqrt.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (pow.f64 (sqrt.f64 im) 2)) (neg.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) (/.f64 (neg.f64 (pow.f64 (sqrt.f64 im) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 6) 4) (/.f64 (*.f64 -2 (pow.f64 (sqrt.f64 im) 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (pow.f64 (sqrt.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (pow.f64 (+.f64 im im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 im) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 8)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (pow.f64 im 2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (+.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 16)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))) (neg.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) 2) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8) (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re)))) (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 -1/4 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 -1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 -1/4 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) (neg.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 2) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 -1/4 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 -1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (sqrt.f64 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (sqrt.f64 (/.f64 -1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1/2) (sqrt.f64 (/.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1/4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/4 re)) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -2) (sqrt.f64 (neg.f64 (/.f64 -1/8 re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 -1 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (+.f64 im im) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (+.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (/.f64 (pow.f64 im 2) 2) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 3) (neg.f64 (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 im 2)) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) (+.f64 (*.f64 -2 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) (neg.f64 (*.f64 (pow.f64 im 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (+.f64 im im) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (*.f64 -2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 3) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (*.f64 -2 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 im 2) (/.f64 (*.f64 (pow.f64 im 2) 12) 8)) (-.f64 (/.f64 (pow.f64 im 2) -2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 im im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) -1/4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 16) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (pow.f64 (+.f64 im im) 2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 im im) 2)) (*.f64 8 (pow.f64 (+.f64 im im) 2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 im im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 im im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) -1/4))))))

simplify410.0ms (1%)

Algorithm
egg-herbie
Rules
1318×rational_best-simplify-63
1220×rational_best-simplify-57
1098×rational_best-simplify-1
1090×rational_best-simplify-64
948×rational_best-simplify-55
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02533372
15763198
212913054
337272792
Stop Event
node limit
Counts
150 → 168
Calls
Call 1
Inputs
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 -2 im)
(*.f64 -2 im)
(*.f64 -2 im)
(*.f64 -2 im)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(+.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 0)
(+.f64 0 (sqrt.f64 (pow.f64 (+.f64 im im) 2)))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (pow.f64 (sqrt.f64 im) 2)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 6) 4))
(-.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 0)
(-.f64 (pow.f64 (sqrt.f64 im) 2) (neg.f64 (pow.f64 (sqrt.f64 im) 2)))
(-.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (pow.f64 (sqrt.f64 im) 2)) (neg.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2)))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) (/.f64 (neg.f64 (pow.f64 (sqrt.f64 im) 2)) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 6) 4) (/.f64 (*.f64 -2 (pow.f64 (sqrt.f64 im) 2)) 4))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)
(*.f64 1 (sqrt.f64 (pow.f64 (+.f64 im im) 2)))
(*.f64 (pow.f64 (sqrt.f64 im) 2) 2)
(*.f64 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)) 1/2)
(*.f64 1/2 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) 1/4)
(*.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 8)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (pow.f64 im 2) 8)))
(*.f64 (sqrt.f64 1/2) (+.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 16)) 1/2)
(/.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)
(/.f64 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)) 2)
(/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))) 16)
(pow.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)
(+.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(+.f64 0 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))))
(+.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) 2))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4))
(-.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(-.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))) (neg.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) 2) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4))
(/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(/.f64 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (*.f64 4 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4)
(/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8) 8)
(/.f64 (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re)))) 16)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8) (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8)) 16)
(/.f64 (+.f64 (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re)))) (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re))))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))) 64)
(pow.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(+.f64 (sqrt.f64 (/.f64 -1/4 re)) 0)
(+.f64 0 (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 2) 2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 4))
(-.f64 (sqrt.f64 (/.f64 -1/4 re)) 0)
(-.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -2))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) (neg.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 2) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -2) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 -1/4 re))) 4))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)
(*.f64 1/2 (sqrt.f64 (/.f64 -1 re)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) 2)
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 1/4)
(*.f64 1/4 (*.f64 2 (sqrt.f64 (/.f64 -1 re))))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (sqrt.f64 (/.f64 1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1/4 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -1/4))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 -1/2))
(*.f64 (sqrt.f64 (/.f64 1/4 re)) (sqrt.f64 -1))
(*.f64 (sqrt.f64 -2) (sqrt.f64 (neg.f64 (/.f64 -1/8 re))))
(/.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)
(/.f64 (sqrt.f64 (/.f64 -1 re)) 2)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 8)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 16)
(pow.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3))
(+.f64 (pow.f64 (+.f64 im im) 2) 0)
(+.f64 0 (pow.f64 (+.f64 im im) 2))
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (pow.f64 im 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (/.f64 (pow.f64 im 2) 2) (*.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 3) (neg.f64 (neg.f64 (pow.f64 im 2))))
(-.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 im 2)) (*.f64 2 (pow.f64 im 2))))
(-.f64 (pow.f64 im 2) (+.f64 (*.f64 -2 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2))))
(-.f64 (pow.f64 im 2) (neg.f64 (*.f64 (pow.f64 im 2) 3)))
(-.f64 (pow.f64 (+.f64 im im) 2) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) -1/4))
(-.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (pow.f64 im 2)))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (*.f64 -2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) -2)))
(-.f64 (*.f64 (pow.f64 im 2) 3) (neg.f64 (pow.f64 im 2)))
(-.f64 (*.f64 3 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2)))
(-.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (*.f64 -2 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) -2))
(-.f64 (+.f64 (pow.f64 im 2) (/.f64 (*.f64 (pow.f64 im 2) 12) 8)) (-.f64 (/.f64 (pow.f64 im 2) -2) (pow.f64 im 2)))
(/.f64 (pow.f64 (+.f64 im im) 2) 1)
(/.f64 (*.f64 (pow.f64 im 2) 8) 2)
(/.f64 (/.f64 (pow.f64 im 2) -1/4) -1)
(/.f64 (*.f64 (pow.f64 im 2) 16) 4)
(/.f64 (*.f64 8 (pow.f64 (+.f64 im im) 2)) 8)
(/.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 im im) 2)) (*.f64 8 (pow.f64 (+.f64 im im) 2))) 16)
(pow.f64 (pow.f64 (+.f64 im im) 2) 1)
(pow.f64 (+.f64 im im) 2)
(neg.f64 (/.f64 (pow.f64 im 2) -1/4))
Outputs
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 -2 im)
(*.f64 im -2)
(*.f64 -2 im)
(*.f64 im -2)
(*.f64 -2 im)
(*.f64 im -2)
(*.f64 -2 im)
(*.f64 im -2)
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 im (sqrt.f64 -1/4)) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1/4 re)))))
(*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(+.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 0)
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(+.f64 0 (sqrt.f64 (pow.f64 (+.f64 im im) 2)))
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (pow.f64 (sqrt.f64 im) 2)))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 6) 4))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(-.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 0)
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(-.f64 (pow.f64 (sqrt.f64 im) 2) (neg.f64 (pow.f64 (sqrt.f64 im) 2)))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(-.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2) (pow.f64 (sqrt.f64 im) 2)) (neg.f64 (/.f64 (pow.f64 (sqrt.f64 im) 2) 2)))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 3) 2) (/.f64 (neg.f64 (pow.f64 (sqrt.f64 im) 2)) 2))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 6) 4) (/.f64 (*.f64 -2 (pow.f64 (sqrt.f64 im) 2)) 4))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(*.f64 1 (sqrt.f64 (pow.f64 (+.f64 im im) 2)))
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(*.f64 (pow.f64 (sqrt.f64 im) 2) 2)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)) 1/2)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 1/2 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) 1/4)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 1/4 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 8)) (sqrt.f64 1/2))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (*.f64 (pow.f64 im 2) 8)))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 1/2) (+.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 (sqrt.f64 im) 2) (+.f64 (sqrt.f64 2) (sqrt.f64 2))))
(*.f64 (+.f64 (sqrt.f64 2) (sqrt.f64 2)) (sqrt.f64 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 -2 (neg.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))))))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 2))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 16)) 1/2)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(/.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(/.f64 (*.f64 4 (pow.f64 (sqrt.f64 im) 2)) 2)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) 4)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(/.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) 8)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))) 16)
(+.f64 (pow.f64 (sqrt.f64 im) 2) (pow.f64 (sqrt.f64 im) 2))
(*.f64 2 (pow.f64 (sqrt.f64 im) 2))
(pow.f64 (sqrt.f64 (pow.f64 (+.f64 im im) 2)) 1)
(pow.f64 (sqrt.f64 (+.f64 im im)) 2)
(+.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))))
(+.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))))
(*.f64 -2 (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) 2)
(*.f64 2 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))
(+.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))
(+.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (/.f64 (+.f64 (sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re)) (sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))) 4))
(+.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) 2))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 0)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))
(+.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))) (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))))
(*.f64 -2 (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) 2)
(*.f64 2 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))) (neg.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))
(+.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4) (/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 4)))
(+.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (/.f64 (+.f64 (sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re)) (sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))) 4))
(+.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) 2) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re)))) 2))
(/.f64 (-.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3/2) (neg.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 2) re))))) 2)
(/.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re)) 3/2) (neg.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))))) 2)
(/.f64 (-.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/4 re))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3/2))) 2)
(-.f64 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 3) 4) (/.f64 (neg.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re))) 2)
(/.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -4 re))) 2)
(/.f64 (*.f64 4 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))) 4)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8) 8)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re)))) 16)
(/.f64 (*.f64 8 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -4 re)))) 16)
(/.f64 (*.f64 16 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -4 re)))) 32)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8) (*.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 8)) 16)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re)))) (*.f64 8 (sqrt.f64 (*.f64 -4 (/.f64 (pow.f64 im 2) re))))) 32)
(/.f64 (*.f64 8 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -4 re)))) 16)
(/.f64 (*.f64 16 (sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -4 re)))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) (*.f64 2 (*.f64 4 (sqrt.f64 (/.f64 -1 re))))) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 32) (*.f64 8 (sqrt.f64 (/.f64 -1 re)))) 256)
(/.f64 (*.f64 4 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 16) (sqrt.f64 (/.f64 -1 re)))) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 2 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8))) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) (*.f64 2 (*.f64 4 (sqrt.f64 (/.f64 -1 re))))) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) 8)) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 32) (*.f64 8 (sqrt.f64 (/.f64 -1 re)))) 256)
(/.f64 (*.f64 4 (*.f64 (*.f64 (pow.f64 (sqrt.f64 im) 2) 16) (sqrt.f64 (/.f64 -1 re)))) 64)
(pow.f64 (sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re))) 1)
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(sqrt.f64 (neg.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (neg.f64 (pow.f64 im 2)) re))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (sqrt.f64 (/.f64 -1/4 re)) 0)
(sqrt.f64 (/.f64 -1/4 re))
(+.f64 0 (sqrt.f64 (/.f64 -1/4 re)))
(sqrt.f64 (/.f64 -1/4 re))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2))
(sqrt.f64 (/.f64 -1/4 re))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1 re)) 8)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (+.f64 (sqrt.f64 (/.f64 -1 re)) (sqrt.f64 (/.f64 -1 re))) 8))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2) (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 2) 2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (*.f64 3/2 (sqrt.f64 (/.f64 -1 re))) 4))
(/.f64 (+.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8)
(/.f64 (+.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 3 (sqrt.f64 (/.f64 -1 re)))) 8)
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 4))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (*.f64 3/2 (sqrt.f64 (/.f64 -1 re))) 4))
(/.f64 (+.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8)
(/.f64 (+.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 3 (sqrt.f64 (/.f64 -1 re)))) 8)
(-.f64 (sqrt.f64 (/.f64 -1/4 re)) 0)
(sqrt.f64 (/.f64 -1/4 re))
(-.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -2))
(sqrt.f64 (/.f64 -1/4 re))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) (neg.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (+.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 8) (/.f64 (sqrt.f64 (/.f64 -1 re)) 8)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (+.f64 (sqrt.f64 (/.f64 -1 re)) (sqrt.f64 (/.f64 -1 re))) 8))
(+.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2) (/.f64 (sqrt.f64 (/.f64 -1 re)) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 2) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -2) 2))
(-.f64 (/.f64 (*.f64 3/2 (sqrt.f64 (/.f64 -1 re))) 4) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -4))
(/.f64 (-.f64 (*.f64 3/2 (sqrt.f64 (/.f64 -1 re))) (neg.f64 (sqrt.f64 (/.f64 -1/4 re)))) 4)
(/.f64 (+.f64 (sqrt.f64 (/.f64 -1/4 re)) (*.f64 3/2 (sqrt.f64 (/.f64 -1 re)))) 4)
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 3/2) 4) (/.f64 (neg.f64 (sqrt.f64 (/.f64 -1/4 re))) 4))
(-.f64 (/.f64 (*.f64 3/2 (sqrt.f64 (/.f64 -1 re))) 4) (/.f64 (sqrt.f64 (/.f64 -1/4 re)) -4))
(/.f64 (-.f64 (*.f64 3/2 (sqrt.f64 (/.f64 -1 re))) (neg.f64 (sqrt.f64 (/.f64 -1/4 re)))) 4)
(/.f64 (+.f64 (sqrt.f64 (/.f64 -1/4 re)) (*.f64 3/2 (sqrt.f64 (/.f64 -1 re)))) 4)
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 1 (sqrt.f64 (/.f64 -1/4 re)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 1/2 (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (/.f64 (sqrt.f64 (/.f64 -1/4 re)) 2) 2)
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 1/4)
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 1/4 (*.f64 2 (sqrt.f64 (/.f64 -1 re))))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 -1/2) (sqrt.f64 (/.f64 1/2 re)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1/4 re)))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 -1/4))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 (/.f64 1/2 re)) (sqrt.f64 -1/2))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 (/.f64 1/4 re)) (sqrt.f64 -1))
(sqrt.f64 (/.f64 -1/4 re))
(*.f64 (sqrt.f64 -2) (sqrt.f64 (neg.f64 (/.f64 -1/8 re))))
(sqrt.f64 (/.f64 -1/4 re))
(/.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)
(sqrt.f64 (/.f64 -1/4 re))
(/.f64 (sqrt.f64 (/.f64 -1 re)) 2)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 4)
(/.f64 (*.f64 4 (sqrt.f64 (/.f64 -1 re))) 8)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) 8)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 4)
(/.f64 (*.f64 4 (sqrt.f64 (/.f64 -1 re))) 8)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 16)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 -1 re))) 4)
(/.f64 (*.f64 4 (sqrt.f64 (/.f64 -1 re))) 8)
(pow.f64 (sqrt.f64 (/.f64 -1/4 re)) 1)
(sqrt.f64 (/.f64 -1/4 re))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 3))
(*.f64 4 (pow.f64 im 2))
(+.f64 (pow.f64 (+.f64 im im) 2) 0)
(pow.f64 (+.f64 im im) 2)
(+.f64 0 (pow.f64 (+.f64 im im) 2))
(pow.f64 (+.f64 im im) 2)
(+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (pow.f64 im 2)))
(*.f64 4 (pow.f64 im 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (/.f64 (pow.f64 im 2) 2) (*.f64 2 (pow.f64 im 2))))
(*.f64 4 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 3) (pow.f64 im 2))
(*.f64 4 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 3) (neg.f64 (neg.f64 (pow.f64 im 2))))
(*.f64 4 (pow.f64 im 2))
(-.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 im 2)) (*.f64 2 (pow.f64 im 2))))
(*.f64 4 (pow.f64 im 2))
(-.f64 (pow.f64 im 2) (+.f64 (*.f64 -2 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2))))
(*.f64 4 (pow.f64 im 2))
(-.f64 (pow.f64 im 2) (neg.f64 (*.f64 (pow.f64 im 2) 3)))
(*.f64 4 (pow.f64 im 2))
(-.f64 (pow.f64 (+.f64 im im) 2) 0)
(pow.f64 (+.f64 im im) 2)
(-.f64 0 (/.f64 (pow.f64 im 2) -1/4))
(*.f64 4 (pow.f64 im 2))
(-.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 -2 (pow.f64 im 2)))
(*.f64 4 (pow.f64 im 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (*.f64 -2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) -2)))
(-.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (*.f64 -2 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) -2))
(+.f64 (/.f64 (pow.f64 im 2) 2) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (*.f64 -2 (pow.f64 im 2))))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 48) 32) (*.f64 -5/4 (*.f64 2 (pow.f64 im 2))))
(-.f64 (*.f64 (pow.f64 im 2) 3) (neg.f64 (pow.f64 im 2)))
(*.f64 4 (pow.f64 im 2))
(-.f64 (*.f64 3 (pow.f64 im 2)) (neg.f64 (pow.f64 im 2)))
(*.f64 4 (pow.f64 im 2))
(-.f64 (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (*.f64 -2 (pow.f64 im 2))) (/.f64 (pow.f64 im 2) -2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (+.f64 (*.f64 -2 (pow.f64 im 2)) (/.f64 (pow.f64 im 2) -2)))
(+.f64 (/.f64 (pow.f64 im 2) 2) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 12) 8) (*.f64 -2 (pow.f64 im 2))))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 48) 32) (*.f64 -5/4 (*.f64 2 (pow.f64 im 2))))
(-.f64 (+.f64 (pow.f64 im 2) (/.f64 (*.f64 (pow.f64 im 2) 12) 8)) (-.f64 (/.f64 (pow.f64 im 2) -2) (pow.f64 im 2)))
(-.f64 (+.f64 (pow.f64 im 2) (/.f64 (*.f64 (pow.f64 im 2) 12) 8)) (*.f64 3 (/.f64 (pow.f64 im 2) -2)))
(-.f64 (+.f64 (pow.f64 im 2) (/.f64 (*.f64 (pow.f64 im 2) 12) 8)) (*.f64 (pow.f64 im 2) -3/2))
(-.f64 (+.f64 (pow.f64 im 2) (/.f64 (*.f64 (pow.f64 im 2) 48) 32)) (*.f64 (pow.f64 im 2) -3/2))
(/.f64 (pow.f64 (+.f64 im im) 2) 1)
(pow.f64 (+.f64 im im) 2)
(/.f64 (*.f64 (pow.f64 im 2) 8) 2)
(*.f64 4 (pow.f64 im 2))
(/.f64 (/.f64 (pow.f64 im 2) -1/4) -1)
(*.f64 4 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 16) 4)
(*.f64 4 (pow.f64 im 2))
(/.f64 (*.f64 8 (pow.f64 (+.f64 im im) 2)) 8)
(/.f64 (*.f64 (pow.f64 (+.f64 im im) 2) 8) 8)
(/.f64 (*.f64 (pow.f64 (+.f64 im im) 2) 16) 16)
(/.f64 (+.f64 (*.f64 8 (pow.f64 (+.f64 im im) 2)) (*.f64 8 (pow.f64 (+.f64 im im) 2))) 16)
(/.f64 (*.f64 (pow.f64 (+.f64 im im) 2) 8) 8)
(/.f64 (*.f64 (pow.f64 (+.f64 im im) 2) 16) 16)
(pow.f64 (pow.f64 (+.f64 im im) 2) 1)
(pow.f64 (+.f64 im im) 2)
(pow.f64 (+.f64 im im) 2)
(neg.f64 (/.f64 (pow.f64 im 2) -1/4))
(*.f64 4 (pow.f64 im 2))

eval896.0ms (2.1%)

Compiler

Compiled 6538 to 5362 computations (18% saved)

prune431.0ms (1%)

Pruning

15 alts after pruning (7 fresh and 8 done)

PrunedKeptTotal
New3354339
Fresh235
Picked101
Done189
Total33915354
Error
0.2b
Counts
354 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
54.2b
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
55.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 -1 re))))
46.9b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
55.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (pow.f64 (sqrt.f64 (+.f64 im im)) 2)))
52.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))))
54.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
43.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
53.7b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.5b
(*.f64 1/2 (*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
42.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Compiler

Compiled 252 to 208 computations (17.5% saved)

localize41.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize38.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
0.0b
(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 → 24
Calls

12 calls:

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

rewrite448.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1618×rational_best-4
1618×rational_best-2
1618×rational_best-3
1618×rational_best-1
1618×exponential-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
17640
215140
336240
4113740
5484140
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(*.f64 1/2 (*.f64 im (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 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))))) (#(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 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))))) (#(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))) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 0 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))))) (#(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 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (*.f64 im 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 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 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) 2) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2)) 4) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8) (/.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im 4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 2 (*.f64 im 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 1)))))

simplify658.0ms (1.5%)

Algorithm
egg-herbie
Rules
1148×rational_best-simplify-63
948×rational_best-simplify-56
808×rational_best-simplify-55
612×rational_best-simplify-97
584×rational_best-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01302404
13092310
28262214
327492166
471382118
Stop Event
node limit
Counts
78 → 75
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))
(+.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))
(+.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2))
(-.f64 0 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 0 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2))) 2))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(-.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(/.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 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 16)
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 8)
(/.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (*.f64 im 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 0)
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) 2))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2)) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2))) 4))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) 2) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2)) 4) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) 4))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8) (/.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) 8))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) 4)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 8)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 32)
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)
(/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 2) 16)
(/.f64 (*.f64 (*.f64 im 4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im 4)) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 2 (*.f64 im 4))) 64)
(pow.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 (*.f64 im (sqrt.f64 (neg.f64 (/.f64 1 re)))) 1/2)
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))
(*.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 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 6)) 8))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 (/.f64 im 4) (*.f64 im 1/2))))
(+.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 6)) 8))
(+.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 (/.f64 im 4) (*.f64 im 1/2))))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(-.f64 0 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 0 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 6)) 8))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 6)) 8))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 (/.f64 im 4) (*.f64 im 1/2))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2))) 2))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 6)) 8))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(-.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 6)) 8))
(/.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 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 16)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 8)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)))) 16)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4))) 32)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 2 (*.f64 im 4))) 64)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 0)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)))
(*.f64 (/.f64 im 4) (+.f64 (sqrt.f64 (/.f64 -1 re)) (sqrt.f64 (/.f64 -1 re))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 -1 re)) 4) (+.f64 im im))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 (+.f64 im im) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -1/4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) 2))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2)) 4))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 0)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -1/4))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2))) 4))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4))) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 8)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (/.f64 im 4)) (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -1/4))
(-.f64 (/.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 4) 2) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) 2))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 3/2)) 4) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -2) 4))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 3)) 8) (/.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) 8))
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) 2)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 1)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) 4)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 8)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 32)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) 2) 16)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 im 4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im 4)) 64)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 2 (*.f64 im 4))) 64)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))
(pow.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2)) 1)
(*.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 -1 re))))

localize53.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 31 to 20 computations (35.5% saved)

series6.0ms (0%)

Counts
2 → 24
Calls

12 calls:

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

rewrite362.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
740×rational_best-simplify-63
552×rational_best-4
552×rational_best-2
552×rational_best-3
552×rational_best-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01248
18548
217644
347544
4173744
5793544
Stop Event
node limit
Counts
2 → 75
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.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 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2))))))) (#(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 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (-.f64 0 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) -1/2)))) (#(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 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 -2 (*.f64 im -4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 -2 (*.f64 im -4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im 4) (neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 im -2) 4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 (*.f64 im -2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) -2)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) -2) (*.f64 -2 (*.f64 im -4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)) (-.f64 0 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) 2) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 -2 (*.f64 im -4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im -4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im -4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 im -2) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (*.f64 im -2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))))))

simplify361.0ms (0.8%)

Algorithm
egg-herbie
Rules
1356×rational_best-simplify-62
1284×rational_best-simplify-56
1004×rational_best-simplify-1
724×rational_best-simplify-108
612×rational_best-simplify-50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01732509
14072485
210592389
336622389
Stop Event
node limit
Counts
99 → 91
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (-.f64 0 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2))) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1/2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) -1/2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) -4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) 8)
(/.f64 (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) -8)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) -16)
(/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 16)
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4))) 16)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 -2 (*.f64 im -4))) -8)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 -2 (*.f64 im -4))) -4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4))) 16)
(/.f64 (+.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)))) 32)
(/.f64 (*.f64 (*.f64 im 4) (neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)
(/.f64 (*.f64 (*.f64 (*.f64 im -2) 4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 (*.f64 im -2) 4)) 64)
(/.f64 (*.f64 (*.f64 -2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) -2)) 16)
(/.f64 (*.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im 4)) 16)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) -2) (*.f64 -2 (*.f64 im -4))) 16)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) 2))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2)) 4))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 0)
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2))) 4))
(-.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)) (-.f64 0 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) 2) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4) 2))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) 4))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 8))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) -1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -4)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) -8)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 8)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) 16)
(/.f64 (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) -16)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) -32)
(/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 32)
(/.f64 (/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 2) 16)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 -2 (*.f64 im -4))) -8)
(/.f64 (*.f64 (*.f64 im -4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im -4)) 64)
(/.f64 (*.f64 (*.f64 (*.f64 im -2) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (*.f64 im -2) 4)) 64)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1)
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))
Outputs
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (*.f64 -1 (/.f64 1 re))) (*.f64 im -1/2))
(*.f64 (*.f64 im -1/2) (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) (/.f64 (*.f64 im (*.f64 -3 (sqrt.f64 (/.f64 -1 re)))) 4))
(+.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4) (/.f64 (*.f64 im (*.f64 -3 (sqrt.f64 (/.f64 -1 re)))) 4))
(+.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))) -4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 0)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (-.f64 0 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2))))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2))) 2))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1/2)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -1)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 2)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) -1/2)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -2)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) -4)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 4)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) 8)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) -8)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) -16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4))) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 -2 (*.f64 im -4))) -8)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 -2 (*.f64 im -4))) -4)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4))) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)))) 32)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 im 4) (neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (*.f64 im -2) 4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 (*.f64 im -2) 4)) 64)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 -2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1 re)) -2)) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im 4)) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) -2) (*.f64 -2 (*.f64 im -4))) 16)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 1)
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 0)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) 2))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2)) 4))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 0)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2))) 4))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -4)) (-.f64 0 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 8)))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 4) 2) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 4) 2))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -3/2)) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) 4))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 8))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (neg.f64 im)) 2)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) -2)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -2)) 4)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)) -1)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (+.f64 im im)) -4)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4)) -8)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -4)) 8)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 (*.f64 im -2) 4)) 16)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (+.f64 im im) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) -16)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 im 4)) -32)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 32)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (/.f64 (*.f64 -4 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 4))) 2) 16)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 1/2) (*.f64 -2 (*.f64 im -4))) -8)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 im -4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4))) 64)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) (*.f64 im -4)) 64)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 (*.f64 im -2) 4) (*.f64 (sqrt.f64 (/.f64 -1 re)) 4)) 64)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) 4) (*.f64 (*.f64 im -2) 4)) 64)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -1/2)) 1)
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im 1/2)))
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1 re)) -1/2))
(*.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 -1 re))))

localize96.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 38 to 28 computations (26.3% saved)

series8.0ms (0%)

Counts
3 → 36
Calls

18 calls:

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

rewrite676.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1962×rational_best-2
1962×rational_best-3
1962×rational_best-1
708×rational_best-simplify-63
540×rational_best-simplify-55
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01363
19261
218161
343861
4139961
5620461
Stop Event
node limit
Counts
3 → 121
Calls
Call 1
Inputs
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 1/2 (*.f64 -2 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) (*.f64 2 (*.f64 im 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (neg.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) (*.f64 im -4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 2 (*.f64 im -4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im -4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -6) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (-.f64 1 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 2) (/.f64 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -6) 8) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -1) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))))

simplify615.0ms (1.4%)

Algorithm
egg-herbie
Rules
1234×rational_best-simplify-1
918×rational_best-simplify-85
706×rational_best-simplify-49
702×rational_best-simplify-3
586×rational_best-simplify-50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02313575
15303551
214443407
362553407
Stop Event
node limit
Counts
157 → 136
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(+.f64 (-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(+.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(+.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(-.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) -2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) -1)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) -4)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) 2)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) -8)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) 4)
(/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))) -1/2)
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 8)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) 16)
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))) 1/2)
(/.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) -1) 8)
(/.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) (*.f64 2 (*.f64 im 4))) 64)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1)
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 0)
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (neg.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))
(+.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))
(+.f64 (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))
(+.f64 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -1))
(-.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -1/2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 1)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1/2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) 2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) -1)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) 4)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) -2)
(/.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 8)
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -4)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -8)
(/.f64 (/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -1) 4)
(/.f64 (+.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)))) 16)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) (*.f64 im -4)) 16)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 2 (*.f64 im -4))) 16)
(/.f64 (*.f64 (*.f64 2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) 16)
(/.f64 (*.f64 (*.f64 im -4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 16)
(pow.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 1)
(neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) 4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -6) 8))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) -4))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(+.f64 (-.f64 -1 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (-.f64 1 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(+.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)))
(+.f64 (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(+.f64 (/.f64 (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 2) (/.f64 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 2))
(+.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(+.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(-.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(-.f64 (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(-.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) -2))
(-.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -6) 8) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) -4))
(-.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -1)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) 4)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) -2)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) 8)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) -1/2)
(/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) 1/2)
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) -4)
(/.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 16)
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -8)
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -16)
(/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -1) 16)
(/.f64 (/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -1) 8)
(/.f64 (*.f64 (*.f64 2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) 16)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1)
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -2 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1/4) im) -2))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1/4 (/.f64 1 re)))) -2)
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))) -1)
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))) (neg.f64 im))
(*.f64 (neg.f64 im) (sqrt.f64 (*.f64 -1/4 (/.f64 1 re))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) -2)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) -1)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) -4)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) 2)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) -8)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) 4)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))) -1/2)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 8)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) 16)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (neg.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))) 1/2)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) -1) 8)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (+.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)))) 16)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4))) 32)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 64)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) (*.f64 2 (*.f64 im 4))) 64)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 0)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (neg.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 0)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 0 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -1))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -1/2)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 1)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1/2)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) 2)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) -1)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) 4)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) -2)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 8)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -4)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -8)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -1) 4)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (+.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)))) 16)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) (*.f64 im -4)) 16)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 2 (*.f64 im -4))) 16)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (*.f64 2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) 16)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(/.f64 (*.f64 (*.f64 im -4) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 16)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(pow.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 1)
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(neg.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)))
(*.f64 im (*.f64 -2 (sqrt.f64 (/.f64 -1/4 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 0)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) 4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -6) 8))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) -4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (-.f64 -1 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (-.f64 1 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)) (neg.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (-.f64 -1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 2) (/.f64 (-.f64 1 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(+.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 0)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (+.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (-.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) 4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (+.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) 2) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -3) 4) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2)) -2) (/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) -2))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -6) 8) (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 3)) -4) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) -4))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(-.f64 (-.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4) (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2))) (-.f64 0 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -4)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -1)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -2)) 2)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) -4)) 4)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) -2)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -8) 8)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 1/2)) -1/2)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) -2) 1/2)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4)) -4)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 -4 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) 16)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -8)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -16)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4) (*.f64 im 4)) -1) 16)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (/.f64 (*.f64 im (*.f64 2 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 4))) -1) 8)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 im -4)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) 2)) 16)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) 1)
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
(neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))

localize37.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
9.3b
(/.f64 (pow.f64 im 2) (neg.f64 re))
17.4b
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
Compiler

Compiled 32 to 19 computations (40.6% saved)

series19.0ms (0%)

Counts
3 → 48
Calls

18 calls:

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

rewrite381.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1384×rational_best-simplify-60
1124×rational_best-4
1124×rational_best-2
1124×rational_best-3
1124×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01165
17965
219865
364065
4349965
Stop Event
node limit
Counts
3 → 146
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (neg.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (neg.f64 (pow.f64 im 2))) (sqrt.f64 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 im 2)) (sqrt.f64 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1 re)) (sqrt.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) (sqrt.f64 (/.f64 1 (*.f64 re -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 (*.f64 re -4))) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 -1 (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) 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 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2) (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) (*.f64 re -4)) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (/.f64 (pow.f64 im 2) (*.f64 re -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (/.f64 (pow.f64 im 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2)) (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (+.f64 (/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (+.f64 (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -4))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (/.f64 (/.f64 (pow.f64 im 2) re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) -1)))) (#(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) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)))) (#(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 (/.f64 (pow.f64 im 2) (/.f64 re -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 -1 (neg.f64 (*.f64 re -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.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 2 (neg.f64 (*.f64 re -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (pow.f64 im 2) (/.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 4 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (neg.f64 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 -1/2 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (/.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 4 re)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (/.f64 1 (*.f64 2 (*.f64 re -4))))))) (#(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 (pow.f64 im 2) re) re) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (/.f64 1 (/.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))) (/.f64 1 (/.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) (/.f64 (/.f64 2 re) re)) (/.f64 1 (/.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 re re)) (*.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 (*.f64 re -4))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -1 re)) (/.f64 (/.f64 (pow.f64 im 2) re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 -2 re)) (*.f64 (pow.f64 im 2) (/.f64 (/.f64 2 re) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (neg.f64 (*.f64 re -4))) (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/2 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1 (neg.f64 (*.f64 re -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/4 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 re) re) (*.f64 (pow.f64 im 2) (neg.f64 re)))))) (#(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 (pow.f64 im 2) (neg.f64 re)) (/.f64 (/.f64 1 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 re) (*.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 -1/2 re) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (neg.f64 re))) (/.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))) (/.f64 (/.f64 -1 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (/.f64 re -2))) (/.f64 -1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) 4)) (/.f64 (/.f64 1 (*.f64 re -4)) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 -1/2 re) (neg.f64 re)) (*.f64 (neg.f64 re) (*.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 -1 re) re) (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (*.f64 re -4)) (neg.f64 re)) (*.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (+.f64 im im) 2)) (/.f64 1/4 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 im 2) re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)))))

simplify844.0ms (2%)

Algorithm
egg-herbie
Rules
1024×rational_best-simplify-49
1018×rational_best-simplify-1
922×rational_best-simplify-108
898×rational_best-simplify-53
582×rational_best-simplify-54
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02754536
16644432
220674188
Stop Event
node limit
Counts
194 → 171
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (neg.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(-.f64 (*.f64 3 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)
(*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 1/8)
(*.f64 (sqrt.f64 (neg.f64 (pow.f64 im 2))) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 (neg.f64 (pow.f64 im 2))))
(*.f64 (sqrt.f64 (pow.f64 im 2)) (sqrt.f64 (/.f64 -1 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (sqrt.f64 (pow.f64 im 2)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) (sqrt.f64 -1))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2))) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2))))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) (sqrt.f64 (/.f64 1 (*.f64 re -4))))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 re -4))) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 1 (-.f64 -1 (/.f64 (pow.f64 im 2) re)))
(+.f64 -1 (-.f64 1 (/.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 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2) (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2))
(+.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2))
(+.f64 (/.f64 (pow.f64 im 2) (*.f64 re -4)) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (/.f64 (pow.f64 im 2) (*.f64 re -4)))
(+.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) re)) 1)
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(-.f64 (*.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)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2))
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (+.f64 (/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2) 0))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -4))))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (+.f64 (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -4))) 0))
(-.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) re)) -1)
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(*.f64 (neg.f64 re) (/.f64 (/.f64 (pow.f64 im 2) re) re))
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(*.f64 (/.f64 1 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)
(*.f64 -2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2)) 1/2)
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 -1 (neg.f64 (*.f64 re -4))))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (+.f64 re re)))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1/2 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 2 (neg.f64 (*.f64 re -4))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) (/.f64 re -2)))
(*.f64 1/4 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 4 re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 re 2)))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(*.f64 (/.f64 -1 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 -1/2 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (/.f64 re -2))))
(*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) -1/2)
(*.f64 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 4 re)) 1/4)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (/.f64 1 (*.f64 2 (*.f64 re -4))))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -2)
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (neg.f64 re))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (/.f64 1 (/.f64 -1 re)))
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))) (/.f64 1 (/.f64 1 re)))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 (/.f64 2 re) re)) (/.f64 1 (/.f64 -2 re)))
(*.f64 (/.f64 1 (+.f64 re re)) (*.f64 (pow.f64 im 2) -2))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 re -4))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(*.f64 (/.f64 1 (/.f64 -1 re)) (/.f64 (/.f64 (pow.f64 im 2) re) re))
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(*.f64 (/.f64 1 (/.f64 -2 re)) (*.f64 (pow.f64 im 2) (/.f64 (/.f64 2 re) re)))
(*.f64 (/.f64 -1 (neg.f64 (*.f64 re -4))) (*.f64 (pow.f64 im 2) 4))
(*.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/2 (+.f64 re re)))
(*.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1 (neg.f64 (*.f64 re -4))))
(*.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/4 re))
(*.f64 (/.f64 (/.f64 1 re) re) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 2) -2))
(*.f64 (*.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (/.f64 1 re) re))
(*.f64 (*.f64 (neg.f64 re) (*.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 -1/2 re) (neg.f64 re)))
(*.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (neg.f64 re))) (/.f64 -1 re))
(*.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))
(*.f64 (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))) (/.f64 (/.f64 -1 re) re))
(*.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (/.f64 re -2))) (/.f64 -1/2 re))
(*.f64 (*.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) 4)) (/.f64 (/.f64 1 (*.f64 re -4)) (neg.f64 re)))
(*.f64 (/.f64 (/.f64 -1/2 re) (neg.f64 re)) (*.f64 (neg.f64 re) (*.f64 2 (pow.f64 im 2))))
(*.f64 (/.f64 (/.f64 -1 re) re) (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))))
(*.f64 (/.f64 (/.f64 1 (*.f64 re -4)) (neg.f64 re)) (*.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) 4)))
(*.f64 (neg.f64 (pow.f64 (+.f64 im im) 2)) (/.f64 1/4 re))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(+.f64 (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8))
(+.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4) 2))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 8))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
(*.f64 1 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/4)
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/8)
(*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/4 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 1/16)
(*.f64 1/16 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(neg.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) 1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) -1/2)
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (*.f64 im (sqrt.f64 (*.f64 -1 (/.f64 1 re)))) -1/2)
(+.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 0 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 0)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) (*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (neg.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(-.f64 (*.f64 3 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3/4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 1/8 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 1/8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (neg.f64 (pow.f64 im 2))) (sqrt.f64 (/.f64 1 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 (neg.f64 (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (pow.f64 im 2)) (sqrt.f64 (/.f64 -1 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (sqrt.f64 (pow.f64 im 2)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 (pow.f64 im 2) re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) re)) (sqrt.f64 -1))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 2))) (sqrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2))) (sqrt.f64 1/2))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (pow.f64 im 2) 4)) (sqrt.f64 (/.f64 1 (*.f64 re -4))))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 re -4))) (sqrt.f64 (*.f64 (pow.f64 im 2) 4)))
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 2)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 4)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 8)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))) 16)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(pow.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1)
(sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(+.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 0 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 1 (-.f64 -1 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 -1 (-.f64 1 (/.f64 (pow.f64 im 2) re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2) (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -3/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re))) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 2)
(+.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -3/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re))) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 2)
(+.f64 (/.f64 (pow.f64 im 2) (*.f64 re -4)) (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (/.f64 (pow.f64 im 2) (*.f64 re -4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (-.f64 1 (/.f64 (pow.f64 im 2) re)) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 0)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 0 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (*.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)) (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -3/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re))) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 2)
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (pow.f64 im 2) re)) 2) (+.f64 (/.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) 2) 0))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 -3/2 re)) (*.f64 (pow.f64 im 2) (/.f64 -1/2 re))) 2)
(/.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -2) 2)
(/.f64 (*.f64 (pow.f64 im 2) (/.f64 -2 re)) 2)
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -4))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) (*.f64 re -4)) (+.f64 (/.f64 (pow.f64 im 2) (neg.f64 (*.f64 re -4))) 0))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(-.f64 (-.f64 -1 (/.f64 (pow.f64 im 2) re)) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 2 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (neg.f64 re) (/.f64 (/.f64 (pow.f64 im 2) re) re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1 (/.f64 (pow.f64 im 2) (neg.f64 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (pow.f64 im 2)) (/.f64 -1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) re) -1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 1 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 re) (neg.f64 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 -1/2 re)) 2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -2 (/.f64 (pow.f64 im 2) (+.f64 re re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 re -2)) 1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 1 (*.f64 re -4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) 4) (/.f64 -1 (neg.f64 (*.f64 re -4))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1 (+.f64 re re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 1/2 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) -2) (/.f64 2 (neg.f64 (*.f64 re -4))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) (/.f64 re -2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 1/4 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 4 re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) (/.f64 re 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (pow.f64 im 2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 -1/2 re) (*.f64 2 (pow.f64 im 2)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 -1/2 re) (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (/.f64 re -2))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 1 (*.f64 re -4)) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (/.f64 re 2)) -1/2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (neg.f64 (pow.f64 im 2)) (/.f64 4 re)) 1/4)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (/.f64 1 (*.f64 2 (*.f64 re -4))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (pow.f64 im 2) (+.f64 re re)) -2)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (neg.f64 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (/.f64 (pow.f64 im 2) re) re) (/.f64 1 (/.f64 -1 re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))) re)
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))) (/.f64 1 (/.f64 1 re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 (/.f64 2 re) re)) (/.f64 1 (/.f64 -2 re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 1 (+.f64 re re)) (*.f64 (pow.f64 im 2) -2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (*.f64 2 (*.f64 re -4))) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 1 (/.f64 -1 re)) (/.f64 (/.f64 (pow.f64 im 2) re) re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 1 (/.f64 1 re)) (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 1 (/.f64 -2 re)) (*.f64 (pow.f64 im 2) (/.f64 (/.f64 2 re) re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 -1 (neg.f64 (*.f64 re -4))) (*.f64 (pow.f64 im 2) 4))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/2 (+.f64 re re)))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1 (neg.f64 (*.f64 re -4))))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (neg.f64 (*.f64 (pow.f64 im 2) 4)) (/.f64 1/4 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (/.f64 (/.f64 1 re) re) (*.f64 (pow.f64 im 2) (neg.f64 re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 1/2 re) (*.f64 (pow.f64 im 2) -2))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(*.f64 (*.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 (/.f64 1 re) re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (neg.f64 re) (*.f64 2 (pow.f64 im 2))) (/.f64 (/.f64 -1/2 re) (neg.f64 re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (neg.f64 re))) (/.f64 -1 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) re)) (/.f64 1 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))) (/.f64 (/.f64 -1 re) re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (neg.f64 re) (/.f64 (pow.f64 im 2) (/.f64 re -2))) (/.f64 -1/2 re))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (*.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) 4)) (/.f64 (/.f64 1 (*.f64 re -4)) (neg.f64 re)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (/.f64 -1/2 re) (neg.f64 re)) (*.f64 (neg.f64 re) (*.f64 2 (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (/.f64 -1 re) re) (*.f64 (neg.f64 re) (neg.f64 (pow.f64 im 2))))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (/.f64 (/.f64 1 (*.f64 re -4)) (neg.f64 re)) (*.f64 (neg.f64 re) (*.f64 (pow.f64 im 2) 4)))
(*.f64 re (/.f64 (pow.f64 im 2) (*.f64 re (neg.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) (/.f64 0 re))
(/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 0) re)
(*.f64 (neg.f64 (pow.f64 (+.f64 im im) 2)) (/.f64 1/4 re))
(*.f64 (/.f64 1/4 re) (neg.f64 (pow.f64 (+.f64 im im) 2)))
(*.f64 1/4 (/.f64 (pow.f64 (+.f64 im im) 2) (neg.f64 re)))
(*.f64 (/.f64 -1/4 re) (pow.f64 (+.f64 im im) 2))
(pow.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)) 1)
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(neg.f64 (/.f64 (pow.f64 im 2) re))
(/.f64 (pow.f64 im 2) (neg.f64 re))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2) (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 8))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 0)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -2) 2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 4) 2) (/.f64 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4) 2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 3) 8) (/.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 8))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))) 1/4)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4) 1/8)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 -2 (/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) -4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/4 (*.f64 2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re)))))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)) 1/16)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(*.f64 1/16 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 4)))
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 1/2) 1)
(*.f64 1/2 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))))

eval1.8s (4.3%)

Compiler

Compiled 9164 to 7289 computations (20.5% saved)

prune989.0ms (2.3%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New5885593
Fresh202
Picked011
Done3912
Total59315608
Error
0.2b
Counts
608 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
52.2b
(/.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 (*.f64 2 (pow.f64 im 2)))) 2)
54.2b
(/.f64 (sqrt.f64 (/.f64 (pow.f64 im 2) (neg.f64 re))) 2)
54.5b
(-.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 im -3)) 8) (/.f64 (*.f64 (sqrt.f64 (/.f64 -1 re)) im) 8))
54.5b
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im))
46.9b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
54.6b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -2 re)) (sqrt.f64 1/2)) (neg.f64 im)))
43.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
53.7b
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -2 re)) (sqrt.f64 1/2))))
53.7b
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
46.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
43.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
42.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Compiler

Compiled 176 to 145 computations (17.6% saved)

regimes3.2s (7.5%)

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

7 calls:

785.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
771.0ms
im
481.0ms
(*.f64 im im)
459.0ms
re
344.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Results
ErrorSegmentsBranch
20.1b7re
19.6b8im
25.5b4(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
25.5b4(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
25.3b4(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
25.3b4(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
30.1b3(*.f64 im im)
Compiler

Compiled 355 to 267 computations (24.8% saved)

bsearch819.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
2.128183272070691e-45
8.094732004632733e-45
114.0ms
3.3051452983412863e-119
9.68415418986784e-114
306.0ms
1.417983606968865e-151
1.5631803160246459e-142
117.0ms
3.0222282041292456e-297
5.591207580943249e-296
118.0ms
-3.4269517720784174e-176
-3.3411838120116896e-179
73.0ms
-5.6210644164198456e+22
-2.485514290457581e+21
47.0ms
-5.038433758516079e+113
-1.5372227054267897e+112
Results
420.0ms601×body256valid
145.0ms89×body4096valid
122.0ms68×body2048valid
42.0ms40×body1024valid
23.0ms34×body512valid
Compiler

Compiled 1353 to 1055 computations (22% saved)

regimes539.0ms (1.3%)

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

2 calls:

284.0ms
re
237.0ms
im
Results
ErrorSegmentsBranch
25.9b6re
21.3b6im
Compiler

Compiled 138 to 105 computations (23.9% saved)

bsearch551.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
2.128183272070691e-45
8.094732004632733e-45
349.0ms
3.0222282041292456e-297
5.591207580943249e-296
29.0ms
-5.500436429410732e-184
-4.931720910818632e-184
52.0ms
-5.6210644164198456e+22
-2.485514290457581e+21
71.0ms
-5.038433758516079e+113
-1.5372227054267897e+112
Results
234.0ms48×body2048valid
150.0ms307×body256valid
103.0ms40×body4096valid
16.0ms11×body512valid
12.0ms26×body1024valid
Compiler

Compiled 586 to 480 computations (18.1% saved)

regimes304.0ms (0.7%)

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

2 calls:

166.0ms
im
99.0ms
re
Results
ErrorSegmentsBranch
28.1b5re
22.7b5im
Compiler

Compiled 49 to 38 computations (22.4% saved)

bsearch224.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
74.0ms
1.2020252191841378e-64
5.3935112985192486e-64
6.0ms
-5.500436429410732e-184
-4.931720910818632e-184
74.0ms
-5.6210644164198456e+22
-2.485514290457581e+21
69.0ms
-5.038433758516079e+113
-1.5372227054267897e+112
Results
90.0ms40×body2048valid
84.0ms266×body256valid
22.0ms13×body1024valid
13.0msbody512valid
6.0msbody4096valid
Compiler

Compiled 456 to 373 computations (18.2% saved)

regimes210.0ms (0.5%)

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

2 calls:

104.0ms
im
103.0ms
re
Results
ErrorSegmentsBranch
28.3b5re
23.1b5im
Compiler

Compiled 41 to 32 computations (22% saved)

bsearch340.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
76.0ms
1.2020252191841378e-64
5.3935112985192486e-64
32.0ms
-5.500436429410732e-184
-4.931720910818632e-184
125.0ms
-5.6210644164198456e+22
-2.485514290457581e+21
107.0ms
-2.282164220754572e+111
-3.472040683802425e+100
Results
180.0ms305×body256valid
107.0ms39×body2048valid
30.0msbody4096valid
10.0ms22×body1024valid
3.0ms10×body512valid
Compiler

Compiled 483 to 406 computations (15.9% saved)

regimes192.0ms (0.5%)

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

2 calls:

101.0ms
im
89.0ms
re
Results
ErrorSegmentsBranch
28.3b5re
23.3b5im
Compiler

Compiled 33 to 26 computations (21.2% saved)

bsearch280.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
79.0ms
1.2020252191841378e-64
5.3935112985192486e-64
6.0ms
-5.500436429410732e-184
-4.931720910818632e-184
82.0ms
-5.6210644164198456e+22
-2.485514290457581e+21
113.0ms
-2.282164220754572e+111
-3.472040683802425e+100
Results
172.0ms307×body256valid
56.0ms39×body2048valid
20.0ms13×body512valid
17.0ms19×body1024valid
5.0msbody4096valid
Compiler

Compiled 471 to 400 computations (15.1% saved)

regimes279.0ms (0.7%)

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

2 calls:

189.0ms
im
88.0ms
re
Results
ErrorSegmentsBranch
34.0b4re
24.7b3im
Compiler

Compiled 26 to 21 computations (19.2% saved)

bsearch123.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
106.0ms
1.2020252191841378e-64
5.3935112985192486e-64
17.0ms
-5.500436429410732e-184
-4.931720910818632e-184
Results
51.0ms15×body2048valid
38.0ms75×body256valid
26.0ms11×body4096valid
4.0msbody1024valid
1.0msbody512valid
Compiler

Compiled 148 to 128 computations (13.5% saved)

regimes80.0ms (0.2%)

Accuracy

Total -32.8b remaining (-105.1%)

Threshold costs -32.8b (-105.1%)

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

2 calls:

52.0ms
re
27.0ms
im
Results
ErrorSegmentsBranch
43.2b5re
31.2b2im
Compiler

Compiled 20 to 16 computations (20% saved)

bsearch142.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
141.0ms
-6.47149711877074e-302
3.801291139666424e-307
Results
89.0ms33×body4096valid
30.0ms86×body256valid
9.0msbody1024valid
8.0ms13×body2048valid
1.0msbody512valid
Compiler

Compiled 184 to 160 computations (13% saved)

simplify53.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0107986
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 im -15499999999999999130457691327862824030745834444109352623825092371218483235592077333053016137750149427040912146432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -1960423702884537/71288134650346800291268306339067051951456695425758748915299883092176174487635584164154887676833928121541286087087412614229511011271491218722697833120659596691437416786879139845044909253853184) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 1610733048836635/92041888504950574475740425768398066361240421321846096523996201552759130012416493123946740389072658442813498306494153399121300361632981310716337884487410751681417161433531128461466736435838000189159978471467522953645133149359340995314643512596903545427635461470508184698852989920501614748075702440767602758254592) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3224821407928563/57586096570152913699974892898380567793532123114264532903689671329431521032595044740083720782129802971518987656109067457577065805510327036019308994315074097345724416) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 7347574689420159/1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 8034690221294951/3213876088517980551083924184682325205044405987565585670602752) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -15499999999999999130457691327862824030745834444109352623825092371218483235592077333053016137750149427040912146432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 7547434857405947/184083777009901148951480851536796132722480842643692193047992403105518260024832986247893480778145316885626996612988306798242600723265962621432675768974821503362834322867062256922933472871676000378319956942935045907290266298718681990629287025193807090855270922941016369397705979841003229496151404881535205516509184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6749139785887759/1606938044258990275541962092341162602522202993782792835301376) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))
(if (<=.f64 im -15499999999999999130457691327862824030745834444109352623825092371218483235592077333053016137750149427040912146432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 3912846279507389/29642774844752946028434172162224104410437116074403984394101141506025761187823616) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -34999999999999997642597850503003525260069969738530124900624387873908153824877719104490717142686105600) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -8000000000000000000000) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1408031805125765/3705346855594118253554271520278013051304639509300498049262642688253220148477952) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -34999999999999997642597850503003525260069969738530124900624387873908153824877719104490717142686105600) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 8299976956530825/59285549689505892056868344324448208820874232148807968788202283012051522375647232) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3408919107146589/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
Outputs
(if (<=.f64 im -15499999999999999130457691327862824030745834444109352623825092371218483235592077333053016137750149427040912146432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -1960423702884537/71288134650346800291268306339067051951456695425758748915299883092176174487635584164154887676833928121541286087087412614229511011271491218722697833120659596691437416786879139845044909253853184) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 1610733048836635/92041888504950574475740425768398066361240421321846096523996201552759130012416493123946740389072658442813498306494153399121300361632981310716337884487410751681417161433531128461466736435838000189159978471467522953645133149359340995314643512596903545427635461470508184698852989920501614748075702440767602758254592) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3224821407928563/57586096570152913699974892898380567793532123114264532903689671329431521032595044740083720782129802971518987656109067457577065805510327036019308994315074097345724416) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 7347574689420159/1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 8034690221294951/3213876088517980551083924184682325205044405987565585670602752) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -15499999999999999130457691327862824030745834444109352623825092371218483235592077333053016137750149427040912146432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 7547434857405947/184083777009901148951480851536796132722480842643692193047992403105518260024832986247893480778145316885626996612988306798242600723265962621432675768974821503362834322867062256922933472871676000378319956942935045907290266298718681990629287025193807090855270922941016369397705979841003229496151404881535205516509184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6749139785887759/1606938044258990275541962092341162602522202993782792835301376) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))
(if (<=.f64 im -15499999999999999130457691327862824030745834444109352623825092371218483235592077333053016137750149427040912146432) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 3912846279507389/29642774844752946028434172162224104410437116074403984394101141506025761187823616) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -34999999999999997642597850503003525260069969738530124900624387873908153824877719104490717142686105600) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -8000000000000000000000) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1408031805125765/3705346855594118253554271520278013051304639509300498049262642688253220148477952) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))
(if (<=.f64 im -34999999999999997642597850503003525260069969738530124900624387873908153824877719104490717142686105600) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -55000000000000002097152) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) (neg.f64 im)) (if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 8299976956530825/59285549689505892056868344324448208820874232148807968788202283012051522375647232) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -328904519148137/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3408919107146589/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
Compiler

Compiled 381 to 287 computations (24.7% saved)

soundness2.9s (6.9%)

Algorithm
egg-herbie
Rules
1318×rational_best-simplify-63
1234×rational_best-simplify-1
1220×rational_best-simplify-57
1152×rational_best-simplify-56
1098×rational_best-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05218826
114408534
237968260
02533372
15763198
212913054
337272792
02313575
15303551
214443407
362553407
05218826
114408534
237968260
02041620
14731528
211921468
347671468
Stop Event
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 353 to 282 computations (20.1% saved)

end1.5s (3.5%)

Compiler

Compiled 367 to 259 computations (29.4% saved)

Profiling

Loading profile data...